package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-14.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum14 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {2,0,100,18,78,36,-22,52,-74,67,42,80,-33,89,-53,96,-50,100,-48,101,22,100,-41,95,111,89,111,81,65,72,116,62,124,52,-31,42,19,34,76,26,-38,19,-47,14,64,11,8,9,41,8,9,8,-124,8,50,9,-69,9,-65,9,22,9,44,7,-22,3,84,-1,80,-7,13,-14,-41,-23,-82,-32,26,-41,121,-51,65,-60,-36,-69,-68,-76,44,-81,123,-85,-20,-87,-112,-86,116,-83,102,-78,88,-71,-11,-63,-33,-53,-77,-42,-48,-31,31,-19,-10,-9,16,2,-6,10,-110,18,109,24,-34,28,-56,31,59,33,-128,33,-49,32,96,31,-47,29,95,28,81,27,-1,26,-105,27,57,29,12,32,-3,35,-36,40,-127,46,-111,52,-58,58,-95,64,-73,69,-88,73,13,76,-111,76,29,75,54,71,-12,64,98,56,-90,45,12,33,9,19,-51,3,-25,-13,-7,-29,118,-44,-6,-59,12,-71,-23,-83,-6,-92,-117,-98,-74,-102,-102,-103,-6,-102,-62,-98,-88,-92,85,-84,107,-75,93,-65,-17,-55,-118,-44,-24,-34,-93,-24,115,-15,22,-7,-102,-1,-9,4,27,9,70,12,-120,14,7,16,76,17,116,18,-67,19,87,21,119,23,9,26,116,29,121,33,20,38,16,43,67,48,94,53,58,58,127,62,-28,65,50,68,42,69,-66,68,-75,66,21,63,-15,57,92,51,-106,43,-17,34,122,25,-105,15,-87,5,-12,-5,-51,-14,-95,-22,72,-29,35,-35,54,-40,-99,-44,90,-46,33,-47,-41,-48,98,-47,119,-46,-26,-45,127,-43,-27,-42,14,-40,-64,-40,-1,-40,-81,-40,-40,-41,-90,-42,49,-43,-79,-45,86,-46,95,-47,-21,-48,111,-47,14,-45,-34,-43,17,-38,-101,-33,106,-26,-93,-18,11,-8,90,2,93,13,-71,24,-4,35,20,47,127,57,-16,66,18,75,-83,81,124,86,124,89,-118,90,-98,89,-33,86,81,82,84,76,-26,68,111,60,38,51,96,41,-125,31,-112,21,-25,11,-76,2,45,-6,96,-14,-100,-21,127,-27,69,-32,-47,-37,31,-40,15,-43,-80,-46,-95,-48,-15,-50,-117,-51,98,-52,112,-53,-73,-54,41,-54,-40,-55,-43,-55,48,-54,-4,-54,60,-52,31,-50,-96,-48,-44,-45,-77,-41,67,-36,82,-31,22,-25,89,-19,-5,-13,-34,-6,-31,1,-86,8,121,15,-17,21,-9,27,117,33,71,38,81,42,-75,45,96,48,75,50,-128,51,5,52,-3,51,122,51,127,50,47,49,-113,47,-59,45,-60,43,-103,41,82,39,-30,36,83,34,-73,31,-58,28,-104,25,27,22,79,18,32,14,-61,9,-54,4,-125,-1,-47,-7,-31,-13,-82,-19,121,-25,25,-31,-56,-38,-82,-44,-26,-50,-107,-55,-26,-60,-34,-64,-85,-67,95,-69,26,-70,-38,-71,-88,-70,-101,-68,-89,-65,-64,-61,-32,-56,-25,-50,-91,-43,56,-35,101,-27,2,-18,-16,-10,-1,-1,-24,8,-59,17,92,26,109,34,-14,41,-115,48,-127,54,122,59,127,63,108,66,76,68,2,69,-65,68,105,67,38,65,-11,61,1,58,101,53,52,48,-114,42,-99,36,119,30,72,24,62,18,65,12,119,6,-6,0,-47,-5,5,-9,-63,-14,-80,-18,-7,-22,-109,-25,115,-28,-107,-31,4,-33,-123,-36,42,-38,-16,-41,-29,-43,-12,-45,76,-46,-57,-48,-103,-49,-69,-50,88,-50,104,-50,0,-49,65,-48,41,-46,-56,-44,20,-40,-16,-37,-114,-32,-63,-27,112,-21,-119,-15,-28,-9,62,-2,-56,4,43,11,91,17,35,23,-126,28,47,33,106,37,4,41,-5,43,82,46,19,48,60,49,-6,49,74,50,61,50,-25,49,76,49,-120,48,-121,47,70,46,-46,44,14,43,-13,40,-111,38,-112,35,-3,31,-50,27,-24,22,84,17,44,11,51,4,-100,-4,-122,-12,20,-20,112,-29,-11,-38,-113,-46,-84,-54,125,-61,63,-67,60,-72,122,-76,62,-78,-112,-79,-115,-78,37,-75,69,-71,-34,-66,-64,-59,-81,-51,117,-42,-61,-33,53,-23,-64,-14,5,-4,-74,4,-72,12,-66,19,-93,25,-115,30,91,34,28,37,-40,38,-63,39,-47,39,126,39,-46,38,-3,37,40,37,120,36,-5,35,-31,35,22,36,-94,36,102,37,83,38,74,39,22,40,-120,40,125,40,-56,39,74,38,-2,35,-87,32,68,28,-5,22,-62,16,-44,9,113,2,-120,-6,123,-14,-122,-22,-24,-30,2,-36,-69,-43,121,-48,70,-52,78,-55,-119,-57,10,-57,-98,-57,61,-55,-75,-53,-25,-50,-111,-46,126,-42,-116,-38,-125,-34,68,-30,-85,-27,-78,-24,40,-21,93,-19,63,-17,-15,-16,-114,-14,81,-12,36,-10,-97,-8,-95,-5,92,-1,-34,3,34,9,25,15,-48,21,24,29,-78,36,96,44,-22,51,-24,58,53,65,108,70,85,74,-87,76,76,77,33,76,13,73,36,68,121,61,74,53,-30,43,97,33,51,22,-80,10,69,-1,62,-12,28,-22,-22,-32,-14,-40,-127,-46,-113,-51,70,-54,-100,-56,80,-56,68,-55,80,-53,42,-50,-104,-47}; }
	private static byte[] data1(){ return new byte[] {83,-43,15,-39,-108,-36,-72,-33,89,-30,91,-28,-77,-27,125,-26,-57,-26,-70,-26,126,-26,72,-26,54,-26,-81,-26,-46,-25,-64,-23,-100,-20,115,-16,34,-11,-24,-6,122,1,-72,8,97,16,57,24,-37,31,62,39,-15,45,-59,51,108,56,-58,59,-71,61,60,62,66,61,-22,58,80,55,-79,50,49,45,33,39,-75,32,71,26,-3,19,68,14,-1,8,113,4,-82,0,-84,-3,113,-5,-11,-7,-37,-8,11,-8,92,-9,-108,-10,127,-11,22,-12,-24,-15,21,-17,121,-21,45,-25,66,-30,-38,-36,41,-41,97,-47,-41,-53,-41,-58,-101,-62,113,-65,-95,-67,90,-67,-60,-66,-23,-63,-46,-58,76,-51,100,-43,-41,-34,73,-23,121,-12,-1,-1,98,11,126,22,-26,32,50,42,52,50,-115,56,82,61,101,64,-80,65,98,65,-117,63,101,60,61,56,79,51,-24,45,68,40,-71,34,122,29,-75,24,-122,20,8,17,66,14,29,12,-77,10,-110,9,-69,8,-9,7,17,7,-30,5,90,4,19,2,33,-1,106,-5,8,-9,-13,-15,-127,-20,-117,-26,120,-32,118,-38,-55,-44,-77,-49,112,-53,37,-56,10,-58,57,-59,-61,-59,-83,-57,-44,-54,56,-49,-92,-44,-26,-38,-67,-31,-49,-24,19,-16,37,-9,-36,-3,-10,3,85,9,-67,13,97,17,41,20,25,22,87,23,-2,23,36,24,44,24,42,24,75,24,-75,24,-120,25,-57,26,-99,28,-28,30,-100,33,-104,36,-78,39,-54,42,-124,45,-64,47,57,49,-65,49,37,49,103,47,52,44,-86,39,-54,33,-80,26,-119,18,-89,9,9,0,30,-10,45,-20,-112,-30,-120,-39,-124,-47,124,-54,-42,-60,-100,-64,-3,-67,-13,-68,115,-67,87,-65,-104,-62,-26,-58,38,-52,-9,-47,67,-40,-83,-34,24,-27,53,-21,-7,-16,13,-10,-78,-6,-84,-2,25,2,-12,4,91,7,80,9,38,11,-17,12,-69,14,-85,16,-41,18,43,21,-26,23,-25,26,27,30,110,33,-62,36,-24,39,-45,42,70,45,35,47,63,48,-120,48,-24,47,75,46,-83,43,29,40,-79,35,124,30,-54,24,-122,18,-1,11,99,5,-26,-2,-80,-8,15,-13,-32,-19,93,-23,-102,-27,-107,-30,112,-32,-31,-34,-19,-35,-112,-35,-121,-35,-32,-35,94,-34,-28,-34,102,-33,-62,-33,-4,-33,14,-32,-29,-33,-79,-33,112,-33,64,-33,68,-33,-115,-33,50,-32,113,-31,98,-29,-2,-27,109,-23,-99,-19,117,-14,35,-8,110,-2,50,5,81,12,-117,19,-88,26,-102,33,24,40,-13,45,-5,50,11,55,3,58,-39,59,-127,60,-14,59,65,58,113,55,-66,51,30,47,-44,41,-7,35,-56,29,118,23,7,17,-83,10,-116,4,-65,-2,86,-7,-124,-12,7,-16,15,-20,-123,-24,122,-27,-51,-30,-95,-32,-89,-34,-8,-36,-115,-37,88,-38,94,-39,-90,-40,24,-40,-47,-41,-48,-41,30,-40,-48,-40,-43,-39,86,-37,73,-35,-74,-33,-103,-30,-11,-27,-97,-23,-56,-19,65,-14,-9,-10,-36,-5,-47,0,-91,5,122,10,31,15,121,19,122,23,21,27,28,30,-54,32,-21,34,-106,36,-68,37,100,38,-89,38,-124,38,7,38,55,37,37,36,-39,34,85,33,-94,31,-64,29,-75,27,-125,25,56,23,-80,20,-15,17,0,15,-39,11,120,8,3,5,48,1,56,-3,12,-7,-55,-12,109,-16,38,-20,-42,-25,-97,-29,-93,-33,-24,-37,-117,-40,-89,-43,55,-45,92,-47,28,-48,-117,-49,-88,-49,118,-48,-2,-47,64,-44,44,-41,-65,-38,-24,-34,127,-29,-94,-24,37,-18,-15,-13,-20,-7,0,0,-13,5,-22,11,-84,17,37,23,53,28,-64,32,-47,36,87,40,47,43,93,45,-36,46,-108,47,-81,47,20,47,-42,45,-4,43,-108,41,-68,38,112,35,-53,31,-26,27,-54,23,-104,19,109,15,53,11,10,7,6,3,32,-1,114,-5,17,-8,-56,-12,-71,-15,-39,-18,48,-20,-76,-23,127,-25,91,-27,99,-29,-110,-31,-14,-33,-128,-34,77,-35,76,-36,-111,-37,38,-37,18,-37,102,-37,16,-36,62,-35,-38,-34,-10,-32,-124,-29,114,-26,-35,-23,-85,-19,-56,-15,38,-10,-80,-6,53,-1,-41,3,101,8,-54,12,-12,16,-53,20,59,24,80,27,5,30,67,32,16,34,123,35,103,36,13,37,79,37,75,37,-4,36,113,36,-80,35,-71,34,127,33,26,32,104,30,-128,28,89,26,-48,23,-27,20,-101,17,-27,13,-50,9,105,5,-115,0,94,-5,-14,-11,93,-16,-67,-22,68,-27,-22,-33,-26,-38,99,-42,120,-46,91,-49,4,-51,-93,-53,54,-53,-42,-53,112,-51,0,-48,121,-45,-62,-41,-69,-36,56,-30,33,-24,25,-18,72,-12,69,-6,20,0,112,5,91,10,-111,14,70,18,97,21,-48,23,-74,25,15,27,-34,27,110,28,-75,28,-47,28,-40,28,-40,28,-37,28,-2,28,46,29,118,29,-62,29,7,30,66,30,63,30,-4,29,90,29,69,28,-80,26}; }
	private static byte[] data2(){ return new byte[] {-96,24,-28,21,-112,18,-84,14,67,10,116,5,100,0,17,-5,-91,-11,85,-16,66,-21,-95,-26,110,-30,-49,-34,-22,-37,-69,-39,92,-40,-66,-41,-35,-41,-99,-40,-2,-39,-47,-37,17,-34,127,-32,37,-29,-48,-27,117,-24,-2,-22,99,-19,-126,-17,-108,-15,-127,-13,91,-11,55,-9,32,-7,28,-5,105,-3,9,0,1,3,94,6,30,10,39,14,-109,18,60,23,-9,27,-78,32,51,37,90,41,-3,44,-16,47,16,50,52,51,79,51,85,50,47,48,-14,44,-90,40,109,35,-128,29,-35,22,-46,15,-114,8,75,1,64,-6,-73,-13,-88,-19,86,-24,-46,-29,64,-32,-112,-35,-23,-37,5,-37,-24,-38,123,-37,-106,-36,21,-34,-32,-33,-67,-31,-105,-29,87,-27,-28,-26,54,-24,63,-23,21,-22,-73,-22,65,-21,-59,-21,93,-20,19,-19,43,-18,-91,-17,-90,-15,30,-12,54,-9,-77,-6,-46,-2,100,3,64,8,90,13,120,18,107,23,40,28,122,32,48,36,53,39,93,41,-79,42,26,43,-102,42,64,41,18,39,73,36,-33,32,19,29,1,25,-46,20,-82,16,-56,12,18,9,-73,5,-65,2,47,0,8,-2,78,-4,-55,-6,108,-7,46,-8,-29,-10,-124,-11,-5,-13,33,-14,-17,-17,103,-19,-104,-22,122,-25,66,-28,-24,-32,-92,-35,-104,-38,-17,-41,-46,-43,91,-44,-61,-45,22,-44,110,-43,-47,-41,60,-37,-111,-33,-36,-28,-14,-22,-101,-15,-75,-8,-1,-1,47,7,64,14,-34,20,-29,26,25,32,95,36,-78,39,8,42,79,43,-103,43,-3,42,-121,41,110,39,-43,36,-48,33,-86,30,93,27,63,24,51,21,122,18,-3,15,-33,13,1,12,-124,10,28,9,-43,7,-120,6,46,5,-101,3,-24,1,-65,-1,60,-3,91,-6,22,-9,-117,-13,-50,-17,-32,-21,-17,-25,25,-28,-118,-32,101,-35,-55,-38,-42,-40,-105,-41,51,-41,-99,-41,-19,-40,-11,-38,-47,-35,75,-31,82,-27,-64,-23,86,-18,28,-13,-45,-9,97,-4,-103,0,123,4,-66,7,-83,10,13,13,0,15,122,16,-96,17,101,18,22,19,-85,19,71,20,-16,20,-61,21,-70,22,-25,23,73,25,-59,26,85,28,-34,29,75,31,116,32,63,33,-123,33,60,33,55,32,-108,30,5,28,-73,24,-99,20,-44,15,113,10,-83,4,124,-2,39,-8,-42,-15,-73,-21,2,-26,-31,-32,102,-36,-76,-40,-24,-43,14,-44,49,-45,62,-45,44,-44,-19,-43,99,-40,110,-37,-26,-34,-78,-30,-83,-26,-79,-22,-83,-18,117,-14,-8,-11,65,-7,66,-4,-13,-2,97,1,-113,3,121,5,92,7,43,9,-5,10,-38,12,-60,14,-61,16,-34,18,33,21,95,23,-89,25,-49,27,-48,29,-109,31,3,33,4,34,-120,34,120,34,-36,33,-106,32,-81,30,52,28,35,25,-97,21,-61,17,-116,13,38,9,-88,4,61,0,-13,-5,1,-8,83,-12,-7,-16,37,-18,-79,-21,-38,-23,82,-24,59,-25,124,-26,15,-26,-38,-27,-28,-27,-9,-27,35,-26,87,-26,-123,-26,-68,-26,-29,-26,25,-25,97,-25,-61,-25,82,-24,29,-23,28,-22,-115,-21,90,-19,-95,-17,82,-14,124,-11,-5,-8,-16,-4,63,1,-57,5,119,10,48,15,-61,19,53,24,90,28,11,32,59,35,-56,37,-90,39,-51,40,57,41,-34,40,-50,39,11,38,-79,35,-61,32,99,29,-101,25,-103,21,121,17,52,13,-12,8,-53,4,-60,0,-7,-4,127,-7,48,-10,50,-13,114,-16,0,-18,-48,-21,-15,-23,64,-24,-64,-26,124,-27,102,-28,-121,-29,-32,-30,104,-30,40,-30,42,-30,109,-30,-6,-30,-50,-29,-9,-28,120,-26,75,-24,117,-22,-22,-20,-98,-17,-101,-14,-39,-11,60,-7,-69,-4,76,0,-64,3,56,7,-105,10,-65,13,-81,16,96,19,-92,21,-74,23,101,25,-65,26,-62,27,100,28,-68,28,-55,28,-120,28,12,28,75,27,98,26,56,25,-22,23,105,22,-62,20,-10,18,19,17,-4,14,-66,12,92,10,-44,7,46,5,119,2,-107,-1,-106,-4,-121,-7,112,-10,85,-13,91,-16,92,-19,-123,-22,-42,-25,100,-27,58,-29,98,-31,-24,-33,-54,-34,33,-34,-21,-35,44,-34,-34,-34,19,-32,-72,-31,-38,-29,93,-26,72,-23,119,-20,0,-16,-53,-13,-62,-9,-39,-5,1,0,14,4,36,8,18,12,-40,15,86,19,123,22,90,25,-48,27,-26,29,127,31,-85,32,82,33,-113,33,79,33,-88,32,-117,31,17,30,69,28,31,26,-68,23,30,21,82,18,108,15,-126,12,124,9,125,6,-127,3,-102,0,-55,-3,41,-5,-107,-8,32,-10,-49,-13,-92,-15,-104,-17,-52,-19,8,-20,118,-22,3,-23,-62,-25,-84,-26,-53,-27,34,-27,-90,-28,124,-28,-119,-28,-19,-28,-112,-27,-114,-26,-31,-25,-124,-23,127,-21,-82,-19,62,-16,3,-13,7,-10,43,-7,118,-4,-83,-1,8,3,71,6,118,9,117,12,64,15,-61,17}; }
	private static byte[] data3(){ return new byte[] {8,20,16,22,-67,23,36,25,54,26,-8,26,124,27,-76,27,-77,27,111,27,-6,26,83,26,122,25,105,24,47,23,-68,21,26,20,80,18,63,16,-17,13,100,11,-102,8,-109,5,109,2,-6,-2,100,-5,-82,-9,-23,-13,46,-16,-112,-20,23,-23,-46,-27,-18,-30,105,-32,113,-34,-12,-36,20,-36,-47,-37,55,-36,56,-35,-36,-34,11,-31,-55,-29,-13,-26,124,-22,72,-18,48,-14,56,-10,59,-6,36,-2,-43,1,75,5,88,8,34,11,-108,13,-96,15,92,17,-69,18,-58,19,-101,20,69,21,-67,21,34,22,101,22,-93,22,-45,22,3,23,36,23,51,23,50,23,14,23,-61,22,51,22,107,21,75,20,-36,18,31,17,-10,14,112,12,-109,9,107,6,4,3,-125,-1,-41,-5,34,-8,-120,-12,11,-15,-16,-19,1,-21,-119,-24,119,-26,-31,-28,-47,-29,58,-29,34,-29,119,-29,51,-28,75,-27,-86,-26,59,-24,-6,-23,-46,-21,-80,-19,-103,-17,112,-15,49,-13,-9,-12,-84,-10,106,-8,28,-6,-19,-5,-82,-3,-75,-1,-45,1,45,4,-86,6,94,9,38,12,29,15,42,18,46,21,35,24,-26,26,98,29,-123,31,51,33,86,34,-34,34,-68,34,-11,33,110,32,67,30,105,27,8,24,50,20,-21,15,102,11,-83,6,0,2,95,-3,19,-7,4,-11,94,-15,50,-18,-113,-21,117,-23,-4,-25,-12,-26,107,-26,80,-26,-110,-26,27,-25,-26,-25,-61,-24,-68,-23,-78,-22,-93,-21,-124,-20,80,-19,12,-18,-53,-18,121,-17,68,-16,28,-15,16,-14,74,-13,-64,-12,-123,-10,-105,-8,-4,-6,-101,-3,-108,0,-60,3,36,7,-113,10,2,14,63,17,101,20,48,23,-86,25,-102,27,20,29,-13,29,80,30,9,30,64,29,-17,27,45,26,17,24,-105,21,-4,18,49,16,104,13,-74,10,17,8,-106,5,72,3,53,1,79,-1,-75,-3,44,-4,-66,-6,105,-7,14,-8,-73,-10,84,-11,-53,-13,30,-14,86,-16,108,-18,117,-20,118,-22,123,-24,-97,-26,-17,-28,-109,-29,-118,-30,-6,-31,-20,-31,121,-30,-91,-29,108,-27,-35,-25,-54,-22,87,-18,86,-14,-83,-10,74,-5,-1,-1,-92,4,54,9,-118,13,125,17,0,21,-32,23,69,26,0,28,37,29,-91,29,-101,29,-1,28,5,28,-96,26,3,25,41,23,62,21,73,19,93,17,-128,15,-64,13,29,12,-103,10,58,9,-26,7,-117,6,56,5,-53,3,68,2,-83,0,-47,-2,-57,-4,-116,-6,39,-8,-104,-11,9,-13,95,-16,-65,-19,69,-21,-8,-24,-3,-26,96,-27,44,-28,115,-29,65,-29,-102,-29,122,-28,-36,-27,-74,-25,8,-22,-88,-20,-104,-17,-92,-14,-46,-11,13,-7,42,-4,42,-1,-12,1,103,4,-82,6,-91,8,90,10,-59,11,-3,12,-19,13,-49,14,-109,15,76,16,0,17,-72,17,116,18,64,19,18,20,-25,20,-81,21,103,22,-3,22,94,23,115,23,64,23,-103,22,-103,21,31,20,45,18,-75,15,-39,12,-120,9,-19,5,22,2,5,-2,-28,-7,-58,-11,-47,-15,28,-18,-58,-22,-39,-25,97,-27,124,-29,45,-30,119,-31,89,-31,-64,-31,-73,-30,26,-28,-22,-27,0,-24,90,-22,-37,-20,115,-17,16,-14,-94,-12,20,-9,108,-7,-76,-5,-63,-3,-59,-1,-110,1,73,3,-17,4,-107,6,48,8,-53,9,108,11,2,13,-88,14,84,16,-17,17,-127,19,-11,20,60,22,88,23,46,24,-69,24,-21,24,-63,24,48,24,57,23,-44,21,16,20,-20,17,-128,15,-45,12,-7,9,-25,6,-39,3,-65,0,-61,-3,-9,-6,74,-8,-36,-11,-83,-13,-54,-15,62,-16,-17,-18,-32,-19,25,-19,-124,-20,38,-20,-12,-21,-35,-21,-34,-21,-5,-21,33,-20,94,-20,-92,-20,-2,-20,120,-19,10,-18,-62,-18,-85,-17,-79,-16,13,-14,-101,-13,117,-11,-113,-9,-20,-7,121,-4,68,-1,70,2,86,5,-119,8,-94,11,-81,14,-114,17,73,20,-91,22,-71,24,90,26,-116,27,77,28,-115,28,90,28,-90,27,-123,26,3,25,24,23,-25,20,106,18,-63,15,3,13,29,10,59,7,85,4,-122,1,-48,-2,73,-4,-36,-7,-105,-9,124,-11,-108,-13,-46,-15,79,-16,-21,-18,-87,-19,-99,-20,-80,-21,-7,-22,107,-22,7,-22,-41,-23,-44,-23,13,-22,126,-22,30,-21,9,-20,41,-19,-117,-18,39,-16,-7,-15,-15,-13,35,-10,124,-8,-15,-6,119,-3,12,0,-119,2,17,5,-128,7,-48,9,-1,11,-10,13,-76,15,63,17,-110,18,-91,19,121,20,6,21,93,21,126,21,91,21,18,21,-122,20,-32,19,1,19,-2,17,-42,16,-126,15,29,14,-109,12,-16,10,35,9,66,7,74,5,56,3,39,1,-12,-2,-71,-4,117,-6,56,-8,-6,-11,-34,-13,-57,-15,-50,-17,-5,-19,89,-20,-26,-22,-68,-23,-55,-24,32,-24,-56,-25,-70,-25,6,-24,-107,-24}; }
	private static byte[] data4(){ return new byte[] {-122,-23,-67,-22,72,-20,22,-18,37,-16,102,-14,-36,-12,-124,-9,71,-6,27,-3,5,0,-52,2,-88,5,101,8,3,11,124,13,-83,15,-72,17,-128,19,-5,20,53,22,19,23,-90,23,-28,23,-39,23,122,23,-45,22,-29,21,-72,20,79,19,-78,17,-24,15,-4,13,-17,11,-31,9,-79,7,-123,5,76,3,39,1,-4,-2,2,-3,-6,-6,22,-7,60,-9,-121,-11,-26,-13,120,-14,19,-15,-45,-17,-72,-18,-69,-19,-15,-20,75,-20,-45,-21,-118,-21,117,-21,-107,-21,-14,-21,125,-20,78,-19,89,-18,-97,-17,30,-15,-61,-14,-88,-12,-74,-10,-24,-8,53,-5,-108,-3,-20,-1,87,2,-78,4,1,7,46,9,58,11,16,13,-63,14,64,16,-121,17,-109,18,106,19,-2,19,105,20,-109,20,-107,20,94,20,-2,19,118,19,-63,18,-31,17,-36,16,-82,15,86,14,-21,12,69,11,121,9,-120,7,111,5,50,3,-20,0,113,-2,-18,-5,87,-7,-60,-10,55,-12,-49,-15,119,-17,85,-19,103,-21,-56,-23,123,-24,-120,-25,-11,-26,-53,-26,11,-25,-74,-25,-64,-24,49,-22,-13,-21,8,-18,87,-16,-39,-14,114,-11,35,-8,-30,-6,-119,-3,41,0,-107,2,-41,4,-22,6,-49,8,121,10,-19,11,43,13,43,14,9,15,-58,15,88,16,-45,16,51,17,119,17,-77,17,-44,17,-28,17,-36,17,-73,17,121,17,14,17,121,16,-80,15,-77,14,120,13,21,12,99,10,-127,8,93,6,30,4,-89,1,54,-1,-92,-4,11,-6,-106,-9,33,-11,1,-13,-11,-16,52,-17,-65,-19,-111,-20,-65,-21,68,-21,17,-21,50,-21,-105,-21,60,-20,29,-19,33,-18,79,-17,-103,-16,-15,-15,93,-13,-59,-12,46,-10,-100,-9,15,-7,-123,-6,0,-4,-123,-3,9,-1,-89,0,100,2,37,4,15,6,-9,7,-13,9,-11,11,-1,13,-8,15,-38,17,-108,19,26,21,92,22,87,23,-18,23,41,24,-18,23,84,23,61,22,-66,20,-40,18,-110,16,16,14,62,11,66,8,42,5,9,2,-5,-2,16,-4,79,-7,-63,-10,-126,-12,-114,-14,-17,-16,-77,-17,-68,-18,21,-18,-73,-19,-107,-19,-83,-19,-14,-19,83,-18,-50,-18,85,-17,-20,-17,-125,-16,32,-15,-66,-15,107,-14,31,-13,-26,-13,-56,-12,-77,-11,-37,-10,34,-8,-97,-7,70,-5,30,-3,17,-1,62,1,127,3,-36,5,54,8,-115,10,-62,12,-41,14,-67,16,94,18,-79,19,-83,20,75,21,-112,21,113,21,-11,20,39,20,8,19,-85,17,17,16,79,14,115,12,-122,10,-94,8,-68,6,-29,4,35,3,123,1,-19,-1,-117,-2,44,-3,-26,-5,-87,-6,116,-7,69,-8,23,-9,-29,-11,-104,-12,86,-13,5,-14,-70,-16,125,-17,73,-18,54,-19,78,-20,-102,-21,41,-21,2,-21,52,-21,-59,-21,-68,-20,20,-18,-50,-17,-36,-15,63,-12,-13,-10,-43,-7,-28,-4,-2,-1,17,3,20,6,-6,8,-97,11,3,14,5,16,-74,17,11,19,-11,19,-122,20,-78,20,-118,20,23,20,105,19,127,18,114,17,72,16,12,15,-54,13,-125,12,63,11,4,10,-51,8,-89,7,122,6,73,5,17,4,-53,2,118,1,21,0,-110,-2,-10,-4,64,-5,122,-7,-91,-9,-42,-11,2,-12,61,-14,-108,-16,22,-17,-52,-19,-58,-20,6,-20,-101,-21,-128,-21,-54,-21,97,-20,85,-19,-107,-18,31,-16,-25,-15,-32,-13,-19,-11,32,-8,84,-6,-121,-4,-86,-2,-80,0,-122,2,71,4,-44,5,67,7,125,8,-107,9,-126,10,88,11,29,12,-54,12,113,13,7,14,-107,14,35,15,-97,15,26,16,121,16,-62,16,-13,16,-16,16,-61,16,83,16,-82,15,-75,14,-114,13,2,12,60,10,39,8,-34,5,96,3,-56,0,17,-2,73,-5,-106,-8,-16,-11,127,-13,72,-15,79,-17,-89,-19,88,-20,99,-21,-36,-22,-94,-22,-44,-22,78,-21,36,-20,50,-19,-126,-18,-8,-17,-103,-15,74,-13,17,-11,-49,-10,-111,-8,63,-6,-13,-5,-117,-3,26,-1,-103,0,-2,1,98,3,-63,4,27,6,106,7,-67,8,-6,9,62,11,124,12,-90,13,-67,14,-66,15,-111,16,74,17,-57,17,19,18,31,18,-23,17,116,17,-76,16,-80,15,105,14,-21,12,47,11,91,9,84,7,55,5,14,3,-30,0,-61,-2,-63,-4,-46,-6,4,-7,94,-9,-18,-11,-84,-12,-100,-13,-81,-14,-4,-15,103,-15,2,-15,-64,-16,-109,-16,-113,-16,-111,-16,-70,-16,-18,-16,54,-15,-99,-15,19,-14,-80,-14,98,-13,57,-12,45,-11,76,-10,-100,-9,16,-7,-82,-6,116,-4,77,-2,82,0,108,2,-110,4,-69,6,-32,8,-31,10,-40,12,-101,14,56,16,-118,17,-89,18,103,19,-21,19,19,20,-15,19,126,19,-67,18,-64,17,124,16,1,15,91,13,-116,11,-83,9,-76,7,-83,5,-86,3,-90,1,-73,-1,-37,-3,19,-4}; }
	private static byte[] data5(){ return new byte[] {92,-6,-59,-8,74,-9,-20,-11,-71,-12,-100,-13,-99,-14,-63,-15,8,-15,108,-16,1,-16,-83,-17,-121,-17,-119,-17,-78,-17,9,-16,-119,-16,55,-15,21,-14,27,-13,80,-12,-89,-11,29,-9,-74,-8,111,-6,55,-4,18,-2,-18,-1,-64,1,-104,3,95,5,21,7,-82,8,38,10,115,11,-97,12,-93,13,121,14,32,15,-104,15,-29,15,6,16,-8,15,-59,15,106,15,-24,14,72,14,126,13,-101,12,-103,11,123,10,77,9,1,8,-98,6,40,5,-95,3,13,2,119,0,-44,-2,37,-3,124,-5,-43,-7,55,-8,-77,-10,57,-11,-43,-13,-108,-14,114,-15,125,-16,-77,-17,29,-17,-80,-18,-120,-18,-118,-18,-47,-18,70,-17,-6,-17,-29,-16,2,-14,79,-13,-52,-12,98,-10,38,-8,3,-6,-9,-5,-7,-3,-2,-1,-3,1,-7,3,-21,5,-57,7,-124,9,22,11,-113,12,-45,13,-16,14,-47,15,-128,16,-13,16,48,17,56,17,3,17,-95,16,2,16,63,15,76,14,46,13,-12,11,-106,10,37,9,-88,7,24,6,118,4,-34,2,54,1,-94,-1,21,-2,-113,-4,19,-5,-86,-7,80,-8,19,-9,-20,-11,-35,-12,-30,-13,9,-13,77,-14,-81,-15,59,-15,-30,-16,-73,-16,-82,-16,-46,-16,32,-15,-109,-15,57,-14,7,-13,2,-12,34,-11,96,-10,-59,-9,76,-7,-25,-6,-106,-4,85,-2,5,0,-52,1,-128,3,50,5,-57,6,74,8,-93,9,-29,10,1,12,-11,12,-63,13,101,14,-42,14,39,15,76,15,74,15,35,15,-46,14,108,14,-45,13,42,13,79,12,104,11,82,10,56,9,-19,7,-112,6,19,5,-127,3,-35,1,45,0,108,-2,-102,-4,-54,-6,-1,-8,57,-9,-104,-11,-4,-13,-115,-14,67,-15,41,-16,84,-17,-86,-18,80,-18,48,-18,93,-18,-49,-18,122,-17,117,-16,-103,-15,3,-13,-120,-12,62,-10,-4,-9,-43,-7,-70,-5,-107,-3,110,-1,51,1,-47,2,103,4,-44,5,40,7,84,8,94,9,61,10,9,11,-81,11,70,12,-75,12,23,13,90,13,-116,13,-85,13,-83,13,-96,13,110,13,44,13,-61,12,57,12,-118,11,-73,10,-75,9,-95,8,82,7,-28,5,90,4,-89,2,-14,0,39,-1,92,-3,-122,-5,-55,-7,18,-8,-109,-10,29,-11,-26,-13,-51,-14,-6,-15,83,-15,-17,-16,-67,-16,-64,-16,-8,-16,93,-15,-22,-15,-101,-14,107,-13,81,-12,80,-11,88,-10,113,-9,-122,-8,-87,-7,-42,-6,3,-4,61,-3,117,-2,-76,-1,-7,0,87,2,-83,3,24,5,-128,6,-30,7,79,9,-84,10,0,12,55,13,86,14,67,15,13,16,-103,16,-23,16,-3,16,-67,16,75,16,126,15,116,14,40,13,-101,11,-18,9,7,8,7,6,-15,3,-43,1,-67,-1,-61,-3,-43,-5,9,-6,108,-8,-9,-10,-64,-11,-69,-12,-20,-13,71,-13,-36,-14,-109,-14,124,-14,126,-14,-92,-14,-38,-14,40,-13,-123,-13,-17,-13,99,-12,-26,-12,119,-11,23,-10,-55,-10,-111,-9,100,-8,90,-7,113,-6,-99,-5,-19,-4,84,-2,-58,-1,95,1,-3,2,-88,4,80,6,-20,7,113,9,-35,10,43,12,66,13,49,14,-40,14,74,15,-126,15,111,15,41,15,-94,14,-21,13,3,13,-13,11,-62,10,122,9,35,8,-55,6,109,5,8,4,-70,2,107,1,48,0,15,-1,-24,-3,-40,-4,-56,-5,-56,-6,-55,-7,-39,-8,-29,-9,-16,-10,1,-10,27,-11,58,-12,115,-13,-78,-14,23,-14,-109,-15,64,-15,23,-15,32,-15,104,-15,-23,-15,-80,-14,-81,-13,-16,-12,96,-10,8,-8,-29,-7,-43,-5,-24,-3,-1,-1,15,2,27,4,15,6,-29,7,-122,9,-11,10,41,12,45,13,-27,13,107,14,-87,14,-75,14,-120,14,54,14,-75,13,24,13,96,12,-107,11,-66,10,-39,9,-16,8,-1,7,16,7,30,6,44,5,36,4,37,3,13,2,-9,0,-44,-1,-92,-2,95,-3,22,-4,-58,-6,111,-7,41,-8,-32,-10,-87,-11,-122,-12,-115,-13,-87,-14,12,-14,-121,-15,74,-15,66,-15,114,-15,-23,-15,-123,-14,105,-13,114,-12,-83,-11,4,-9,116,-8,-14,-7,-123,-5,19,-3,-102,-2,25,0,116,1,-52,2,3,4,39,5,42,6,23,7,-27,7,-97,8,78,9,-29,9,111,10,-25,10,86,11,-80,11,8,12,68,12,113,12,-120,12,-125,12,93,12,20,12,-97,11,4,11,54,10,71,9,29,8,-52,6,76,5,-81,3,-18,1,44,0,73,-2,109,-4,-112,-6,-48,-8,31,-9,-87,-11,73,-12,40,-13,62,-14,-118,-15,35,-15,-22,-16,-7,-16,58,-15,-76,-15,93,-14,44,-13,32,-12,49,-11,84,-10,-116,-9,-59,-8,3,-6,65,-5,-126,-4,-67,-3,-17,-2,32,0,58,1,93,2,117,3,-116,4,-105,5,-94,6,-107,7,-111,8,118,9,83,10,26,11,-57,11,93,12,-52,12}; }
	private static byte[] data6(){ return new byte[] {30,13,68,13,64,13,12,13,-82,12,27,12,94,11,113,10,94,9,36,8,-39,6,103,5,-19,3,96,2,-40,0,80,-1,-35,-3,115,-4,30,-5,-31,-7,-57,-8,-52,-9,-12,-10,47,-10,-103,-11,21,-11,-69,-12,117,-12,78,-12,55,-12,66,-12,86,-12,-115,-12,-57,-12,41,-11,-111,-11,31,-10,-70,-10,116,-9,64,-8,43,-7,54,-6,86,-5,-107,-4,-28,-3,67,-1,-74,0,53,2,-70,3,59,5,-75,6,22,8,107,9,-99,10,-75,11,-107,12,87,13,-40,13,44,14,78,14,49,14,-26,13,104,13,-74,12,-28,11,-37,10,-65,9,125,8,52,7,-45,5,100,4,-8,2,-125,1,29,0,-63,-2,111,-3,38,-4,-13,-6,-51,-7,-57,-8,-47,-9,-5,-10,41,-10,-122,-11,-23,-12,123,-12,27,-12,-28,-13,-66,-13,-58,-13,-34,-13,45,-12,127,-12,19,-11,-85,-11,123,-10,90,-9,92,-8,110,-7,-101,-6,-33,-5,45,-3,-120,-2,-26,-1,57,1,-108,2,-30,3,36,5,83,6,108,7,98,8,71,9,11,10,-80,10,50,11,-108,11,-50,11,-13,11,-21,11,-52,11,-121,11,45,11,-81,10,29,10,106,9,-87,8,-55,7,-27,6,-32,5,-43,4,-82,3,-115,2,82,1,37,0,-25,-2,-91,-3,109,-4,50,-5,9,-6,-19,-8,-33,-9,-28,-10,-2,-11,57,-11,-115,-12,8,-12,-92,-13,97,-13,77,-13,88,-13,-107,-13,-16,-13,120,-12,37,-11,-8,-11,-23,-10,-1,-9,31,-7,101,-6,-68,-5,30,-3,-113,-2,-1,-1,104,1,-40,2,54,4,-113,5,-54,6,-14,7,-8,8,-15,9,-75,10,102,11,-26,11,66,12,117,12,-123,12,106,12,41,12,-57,11,59,11,-100,10,-50,9,-8,8,-8,7,-12,6,-34,5,-70,4,-119,3,88,2,29,1,-18,-1,-64,-2,-103,-3,118,-4,99,-5,88,-6,102,-7,126,-8,-75,-9,-18,-10,79,-10,-70,-11,76,-11,-17,-12,-74,-12,-106,-12,-108,-12,-71,-12,-14,-12,85,-11,-48,-11,115,-10,45,-9,9,-8,-12,-8,1,-6,30,-5,81,-4,-116,-3,-47,-2,20,0,88,1,-94,2,-42,3,8,5,30,6,33,7,13,8,-30,8,-104,9,51,10,-84,10,7,11,64,11,97,11,91,11,66,11,-1,10,-80,10,61,10,-80,9,14,9,81,8,-127,7,-94,6,-90,5,-101,4,125,3,79,2,24,1,-36,-1,-107,-2,70,-3,-3,-5,-76,-6,122,-7,84,-8,59,-9,59,-10,93,-11,-102,-12,11,-12,-102,-13,89,-13,72,-13,100,-13,-79,-13,39,-12,-51,-12,-108,-11,-117,-10,-109,-9,-64,-8,-12,-7,60,-5,-113,-4,-30,-3,49,-1,124,0,-82,1,-39,2,-13,3,-10,4,-26,5,-70,6,117,7,30,8,-84,8,49,9,-113,9,-25,9,32,10,76,10,98,10,101,10,77,10,37,10,-28,9,-119,9,20,9,-125,8,-41,7,16,7,53,6,56,5,42,4,-4,2,-53,1,-127,0,64,-1,-13,-3,-92,-4,105,-5,47,-6,31,-7,20,-8,51,-9,105,-10,-53,-11,79,-11,-3,-12,-45,-12,-58,-12,-24,-12,36,-11,-123,-11,-8,-11,-115,-10,47,-9,-20,-9,-83,-8,-122,-7,86,-6,61,-5,38,-4,23,-3,15,-2,7,-1,1,0,0,1,11,2,19,3,28,4,38,5,38,6,34,7,25,8,-4,8,-51,9,-119,10,31,11,-102,11,-17,11,22,12,21,12,-29,11,-126,11,-11,10,52,10,79,9,62,8,22,7,-54,5,106,4,-2,2,-119,1,23,0,-75,-2,90,-3,19,-4,-27,-6,-46,-7,-26,-8,23,-8,114,-9,-33,-10,122,-10,44,-10,-1,-11,-20,-11,-16,-11,8,-10,47,-10,114,-10,-76,-10,19,-9,118,-9,-20,-9,115,-8,8,-7,-86,-7,97,-6,36,-5,6,-4,-14,-4,-14,-3,5,-1,26,0,66,1,114,2,-96,3,-50,4,-14,5,-5,6,1,8,-34,8,-85,9,71,10,-62,10,18,11,58,11,54,11,8,11,-81,10,60,10,-105,9,-25,8,14,8,45,7,57,6,65,5,63,4,63,3,56,2,64,1,70,0,92,-1,120,-2,-108,-3,-67,-4,-20,-5,30,-5,99,-6,-91,-7,-17,-8,64,-8,-98,-9,5,-9,-127,-10,13,-10,-85,-11,105,-11,66,-11,59,-11,91,-11,-97,-11,15,-10,-89,-10,105,-9,80,-8,85,-7,-124,-6,-58,-5,39,-3,-114,-2,0,0,105,1,-46,2,43,4,112,5,-101,6,-105,7,-124,8,57,9,-43,9,62,10,-128,10,-96,10,-108,10,115,10,41,10,-48,9,88,9,-41,8,66,8,-98,7,-7,6,63,6,-118,5,-51,4,3,4,60,3,95,2,-118,1,-95,0,-62,-1,-49,-2,-36,-3,-34,-4,-24,-5,-20,-6,4,-6,24,-7,65,-8,120,-9,-54,-10,57,-10,-57,-11,121,-11,79,-11,78,-11,117,-11,-58,-11,55,-10,-43,-10,-115,-9,104,-8,89,-7,84,-6,108,-5,127,-4}; }
	private static byte[] data7(){ return new byte[] {-90,-3,-69,-2,-41,-1,-37,0,-37,1,-46,2,-83,3,-123,4,63,5,-24,5,-119,6,15,7,-107,7,-3,7,97,8,-80,8,-13,8,41,9,76,9,91,9,91,9,65,9,18,9,-60,8,91,8,-41,7,47,7,120,6,-111,5,-99,4,-126,3,93,2,32,1,-30,-1,-105,-2,72,-3,7,-4,-55,-6,-87,-7,-98,-8,-78,-9,-29,-10,60,-10,-66,-11,104,-11,60,-11,56,-11,89,-11,-92,-11,10,-10,-110,-10,46,-9,-21,-9,-81,-8,-121,-7,107,-6,70,-5,59,-4,31,-3,23,-2,-5,-2,-22,-1,-57,0,-86,1,-118,2,96,3,54,4,-2,4,-65,5,120,6,36,7,-55,7,80,8,-44,8,47,9,-125,9,-80,9,-59,9,-68,9,-119,9,72,9,-45,8,74,8,-99,7,-45,6,-7,5,3,5,4,4,-18,2,-43,1,-69,0,-100,-1,-109,-2,-122,-3,-118,-4,-98,-5,-58,-6,7,-6,90,-7,-62,-8,69,-8,-38,-9,-116,-9,78,-9,43,-9,23,-9,24,-9,47,-9,83,-9,-115,-9,-40,-9,54,-8,-89,-8,46,-7,-66,-7,107,-6,30,-5,-11,-5,-50,-4,-64,-3,-69,-2,-68,-1,-52,0,-35,1,-10,2,1,4,15,5,2,6,-20,6,-58,7,124,8,34,9,-101,9,-6,9,49,10,72,10,53,10,3,10,-87,9,53,9,-98,8,-20,7,34,7,70,6,90,5,99,4,93,3,86,2,75,1,66,0,70,-1,71,-2,86,-3,105,-4,-111,-5,-62,-6,11,-6,99,-7,-62,-8,67,-8,-53,-9,115,-9,45,-9,-3,-10,-25,-10,-29,-10,3,-9,47,-9,126,-9,-33,-9,91,-8,-15,-8,-104,-7,90,-6,32,-5,4,-4,-18,-4,-28,-3,-26,-2,-30,-1,-31,0,-36,1,-44,2,-63,3,-94,4,113,5,45,6,-44,6,108,7,-25,7,77,8,-104,8,-55,8,-27,8,-27,8,-51,8,-96,8,88,8,0,8,-115,7,9,7,115,6,-52,5,26,5,89,4,-123,3,-82,2,-54,1,-28,0,-5,-1,16,-1,32,-2,54,-3,82,-4,116,-5,-87,-6,-28,-7,48,-7,-116,-8,2,-8,-119,-9,47,-9,-21,-10,-64,-10,-71,-10,-59,-10,-10,-10,61,-9,-93,-9,37,-8,-68,-8,116,-7,51,-6,17,-5,-14,-5,-18,-4,-19,-3,-10,-2,-1,-1,5,1,9,2,11,3,-1,3,-25,4,-70,5,125,6,47,7,-62,7,67,8,-89,8,-21,8,23,9,39,9,22,9,-12,8,-86,8,81,8,-37,7,80,7,-78,6,-1,5,63,5,119,4,-97,3,-63,2,-38,1,-10,0,10,0,48,-1,74,-2,115,-3,-100,-4,-41,-5,22,-5,113,-6,-51,-7,61,-7,-64,-8,84,-8,-4,-9,-64,-9,-113,-9,126,-9,127,-9,-102,-9,-51,-9,22,-8,118,-8,-13,-8,125,-7,37,-6,-46,-6,-101,-5,110,-4,81,-3,57,-2,41,-1,20,0,7,1,-14,1,-34,2,-75,3,-115,4,67,5,-6,5,-111,6,33,7,-115,7,-16,7,46,8,95,8,115,8,117,8,89,8,48,8,-21,7,-108,7,44,7,-88,6,30,6,120,5,-47,4,16,4,71,3,109,2,-110,1,-93,0,-62,-1,-52,-2,-33,-3,-18,-4,6,-4,37,-5,86,-6,-112,-7,-32,-8,65,-8,-64,-9,87,-9,13,-9,-31,-10,-46,-10,-20,-10,22,-9,116,-9,-40,-9,112,-8,15,-7,-51,-7,-100,-6,116,-5,90,-4,78,-3,60,-2,53,-1,30,0,5,1,-28,1,-75,2,-126,3,54,4,-32,4,119,5,-8,5,120,6,-42,6,51,7,112,7,-89,7,-58,7,-39,7,-40,7,-60,7,-96,7,105,7,30,7,-67,6,77,6,-63,5,43,5,-128,4,-62,3,-8,2,24,2,56,1,72,0,93,-1,110,-2,125,-3,-104,-4,-68,-5,-15,-6,56,-6,-115,-7,2,-7,-123,-8,46,-8,-22,-9,-57,-9,-69,-9,-55,-9,-14,-9,49,-8,-126,-8,-20,-8,95,-7,-20,-7,121,-6,30,-5,-67,-5,108,-4,36,-3,-35,-3,-98,-2,95,-1,32,0,-24,0,-81,1,121,2,60,3,2,4,-72,4,112,5,25,6,-70,6,70,7,-62,7,38,8,114,8,-92,8,-70,8,-83,8,-122,8,59,8,-44,7,76,7,-90,6,-20,5,26,5,52,4,66,3,61,2,66,1,53,0,67,-1,68,-2,95,-3,124,-4,-72,-5,-1,-6,100,-6,-36,-7,104,-7,12,-7,-56,-8,-106,-8,124,-8,116,-8,119,-8,-108,-8,-75,-8,-15,-8,45,-7,-127,-7,-36,-7,72,-6,-66,-6,70,-5,-47,-5,116,-4,30,-3,-40,-3,-100,-2,105,-1,56,0,20,1,-18,1,-52,2,-94,3,114,4,45,5,-24,5,-128,6,19,7,-126,7,-44,7,21,8,45,8,48,8,18,8,-40,7,-120,7,27,7,-98,6,5,6,107,5,-76,4,11,4,69,3,-116,2,-60,1,8,1,69,0,-108,-1,-37,-2,43,-2,-126,-3,-41,-4,64,-4,-91,-5,26,-5,-113,-6}; }
	private static byte[] data8(){ return new byte[] {17,-6,-101,-7,52,-7,-40,-8,-112,-8,86,-8,49,-8,35,-8,45,-8,77,-8,-114,-8,-27,-8,93,-7,-22,-7,-104,-6,77,-5,44,-4,8,-3,7,-2,-6,-2,2,0,-5,0,-9,1,-21,2,-49,3,-94,4,93,5,2,6,-110,6,3,7,93,7,-106,7,-70,7,-65,7,-78,7,-115,7,83,7,11,7,-80,6,75,6,-41,5,90,5,-45,4,68,4,-74,3,24,3,119,2,-49,1,31,1,115,0,-68,-1,8,-1,73,-2,-112,-3,-43,-4,32,-4,116,-5,-50,-6,52,-6,-88,-7,48,-7,-54,-8,-127,-8,72,-8,51,-8,48,-8,82,-8,-121,-8,-33,-8,69,-7,-49,-7,101,-6,16,-5,-60,-5,-119,-4,80,-3,37,-2,-18,-2,-62,-1,-127,0,67,1,0,2,-89,2,83,3,-30,3,109,4,-25,4,93,5,-69,5,24,6,94,6,-100,6,-51,6,-17,6,-1,6,9,7,-11,6,-32,6,-88,6,107,6,10,6,-90,5,29,5,-113,4,-25,3,43,3,97,2,-114,1,-90,0,-52,-1,-36,-2,-11,-3,18,-3,54,-4,107,-5,-80,-6,12,-6,117,-7,3,-7,-95,-8,100,-8,60,-8,53,-8,67,-8,114,-8,-78,-8,10,-7,119,-7,-14,-7,-127,-6,21,-5,-72,-5,92,-4,8,-3,-67,-3,108,-2,34,-1,-44,-1,-126,0,48,1,-35,1,-124,2,38,3,-61,3,82,4,-33,4,97,5,-45,5,62,6,-109,6,-38,6,14,7,44,7,55,7,42,7,5,7,-51,6,121,6,17,6,-106,5,0,5,99,4,-79,3,-6,2,48,2,105,1,-108,0,-51,-1,3,-1,65,-2,-120,-3,-47,-4,53,-4,-97,-5,26,-5,-88,-6,60,-6,-15,-7,-88,-7,125,-7,90,-7,73,-7,75,-7,89,-7,121,-7,-89,-7,-30,-7,49,-6,-118,-6,-13,-6,111,-5,-21,-5,-126,-4,28,-3,-54,-3,125,-2,56,-1,-8,-1,-71,0,-120,1,73,2,15,3,-54,3,119,4,31,5,-80,5,55,6,-92,6,-3,6,61,7,98,7,117,7,100,7,69,7,4,7,-75,6,73,6,-50,5,63,5,-93,4,-5,3,76,3,-116,2,-46,1,11,1,75,0,-110,-1,-45,-2,30,-2,113,-3,-56,-4,48,-4,-93,-5,31,-5,-84,-6,66,-6,-17,-7,-93,-7,118,-7,73,-7,63,-7,56,-7,82,-7,115,-7,-81,-7,-9,-7,84,-6,-60,-6,65,-5,-49,-5,101,-4,10,-3,-72,-3,112,-2,40,-1,-22,-1,-98,0,92,1,17,2,-63,2,104,3,3,4,-116,4,13,5,125,5,-38,5,42,6,97,6,-119,6,-96,6,-95,6,-110,6,110,6,61,6,-9,5,-92,5,65,5,-53,4,84,4,-59,3,56,3,-106,2,-12,1,72,1,-103,0,-19,-1,58,-1,-117,-2,-37,-3,50,-3,-112,-4,-5,-5,108,-5,-22,-6,115,-6,17,-6,-68,-7,124,-7,79,-7,52,-7,46,-7,63,-7,97,-7,-102,-7,-25,-7,69,-6,-73,-6,60,-5,-54,-5,105,-4,17,-3,-61,-3,-126,-2,60,-1,2,0,-70,0,125,1,51,2,-24,2,-113,3,41,4,-71,4,57,5,-86,5,6,6,82,6,-120,6,-89,6,-68,6,-84,6,-101,6,100,6,44,6,-46,5,117,5,-5,4,-125,4,-17,3,98,3,-63,2,27,2,116,1,-59,0,25,0,115,-1,-58,-2,37,-2,-127,-3,-20,-4,94,-4,-38,-5,100,-5,-12,-6,-106,-6,71,-6,5,-6,-43,-7,-73,-7,-90,-7,-82,-7,-65,-7,-22,-7,31,-6,109,-6,-60,-6,53,-5,-87,-5,51,-4,-62,-4,99,-3,6,-2,-73,-2,99,-1,21,0,-62,0,120,1,28,2,-58,2,89,3,-20,3,105,4,-27,4,69,5,-97,5,-30,5,22,6,56,6,74,6,72,6,55,6,19,6,-29,5,-99,5,80,5,-23,4,-125,4,1,4,-123,3,-14,2,90,2,-72,1,19,1,98,0,-66,-1,7,-1,91,-2,-83,-3,2,-3,102,-4,-50,-5,69,-5,-61,-6,89,-6,-8,-7,-76,-7,127,-7,94,-7,87,-7,101,-7,-122,-7,-58,-7,13,-6,118,-6,-26,-6,107,-5,1,-4,-109,-4,65,-3,-28,-3,-100,-2,70,-1,-4,-1,-100,0,74,1,-28,1,127,2,12,3,-115,3,3,4,108,4,-52,4,28,5,98,5,-105,5,-65,5,-38,5,-23,5,-29,5,-39,5,-76,5,-115,5,78,5,2,5,-87,4,64,4,-55,3,74,3,-69,2,32,2,-128,1,-43,0,41,0,125,-1,-50,-2,30,-2,125,-3,-43,-4,78,-4,-70,-5,73,-5,-37,-6,-126,-6,66,-6,9,-6,-13,-7,-34,-7,-16,-7,-1,-7,53,-6,101,-6,-73,-6,7,-5,112,-5,-39,-5,85,-4,-52,-4,85,-3,-36,-3,112,-2,-1,-2,-104,-1,41,0,-62,0,89,1,-16,1,-125,2,19,3,-103,3,27,4,-104,4,2,5,106,5,-71,5,-2,5,47,6,75,6,88,6,73,6,40,6,-13,5,-93,5,68,5}; }
	private static byte[] data9(){ return new byte[] {-50,4,70,4,-75,3,18,3,102,2,-77,1,-9,0,68,0,-118,-1,-33,-2,48,-2,-114,-3,-5,-4,111,-4,-5,-5,-114,-5,53,-5,-26,-6,-81,-6,-128,-6,102,-6,89,-6,86,-6,103,-6,125,-6,-88,-6,-43,-6,20,-5,94,-5,-83,-5,18,-4,117,-4,-25,-4,99,-3,-25,-3,118,-2,10,-1,-92,-1,63,0,-33,0,-126,1,33,2,-68,2,82,3,-39,3,90,4,-50,4,45,5,-124,5,-69,5,-21,5,-2,5,0,6,-17,5,-58,5,-113,5,68,5,-22,4,-125,4,14,4,-112,3,14,3,-124,2,-12,1,98,1,-44,0,58,0,-69,-1,33,-1,-93,-2,24,-2,-104,-3,34,-3,-86,-4,68,-4,-39,-5,125,-5,41,-5,-33,-6,-93,-6,114,-6,78,-6,60,-6,57,-6,71,-6,104,-6,-102,-6,-29,-6,59,-5,-90,-5,36,-4,-85,-4,68,-3,-20,-3,-108,-2,75,-1,1,0,-82,0,105,1,12,2,-72,2,73,3,-44,3,77,4,-73,4,15,5,83,5,-121,5,-91,5,-78,5,-81,5,-101,5,121,5,72,5,11,5,-61,4,111,4,22,4,-84,3,70,3,-46,2,94,2,-33,1,92,1,-40,0,76,0,-58,-1,56,-1,-83,-2,29,-2,-107,-3,15,-3,-111,-4,27,-4,-86,-5,73,-5,-12,-6,-83,-6,120,-6,87,-6,67,-6,73,-6,93,-6,-120,-6,-62,-6,17,-5,110,-5,-36,-5,86,-4,-41,-4,99,-3,-9,-3,-116,-2,39,-1,-68,-1,80,0,-33,0,109,1,-14,1,110,2,-26,2,75,3,-79,3,6,4,87,4,-104,4,-42,4,-5,4,38,5,54,5,67,5,69,5,46,5,25,5,-20,4,-80,4,110,4,17,4,-78,3,65,3,-63,2,58,2,-92,1,7,1,103,0,-62,-1,32,-1,116,-2,-38,-3,54,-3,-82,-4,37,-4,-80,-5,72,-5,-16,-6,-84,-6,124,-6,92,-6,83,-6,91,-6,116,-6,-94,-6,-39,-6,39,-5,122,-5,-33,-5,76,-4,-67,-4,56,-3,-72,-3,56,-2,-58,-2,69,-1,-43,-1,83,0,-34,0,93,1,-31,1,90,2,-46,2,63,3,-88,3,6,4,97,4,-91,4,-19,4,22,5,62,5,83,5,82,5,79,5,41,5,4,5,-63,4,121,4,23,4,-77,3,55,3,-67,2,53,2,-96,1,19,1,118,0,-28,-1,80,-1,-62,-2,51,-2,-75,-3,52,-3,-53,-4,98,-4,8,-4,-69,-5,121,-5,67,-5,33,-5,1,-5,-8,-6,-11,-6,2,-5,24,-5,64,-5,106,-5,-82,-5,-18,-5,70,-4,-94,-4,3,-3,121,-3,-20,-3,114,-2,-9,-2,-125,-1,14,0,-94,0,50,1,-61,1,81,2,-44,2,85,3,-58,3,49,4,-110,4,-39,4,32,5,68,5,101,5,110,5,103,5,75,5,35,5,-26,4,-99,4,70,4,-36,3,113,3,-11,2,120,2,-20,1,101,1,-44,0,70,0,-68,-1,48,-1,-86,-2,36,-2,-85,-3,50,-3,-51,-4,102,-4,16,-4,-66,-5,-127,-5,69,-5,35,-5,4,-5,-7,-6,-10,-6,8,-5,33,-5,79,-5,-124,-5,-53,-5,29,-4,123,-4,-28,-4,83,-3,-51,-3,80,-2,-45,-2,98,-1,-22,-1,115,0,0,1,-126,1,10,2,-127,2,-10,2,94,3,-70,3,19,4,86,4,-108,4,-67,4,-35,4,-18,4,-16,4,-26,4,-53,4,-88,4,115,4,53,4,-23,3,-108,3,53,3,-49,2,98,2,-26,1,112,1,-22,0,109,0,-26,-1,101,-1,-33,-2,93,-2,-28,-3,103,-3,-2,-4,-110,-4,51,-4,-30,-5,-107,-5,93,-5,45,-5,14,-5,-2,-6,-6,-6,7,-5,37,-5,75,-5,-117,-5,-54,-5,38,-4,-128,-4,-18,-4,97,-3,-38,-3,96,-2,-25,-2,113,-1,2,0,-118,0,18,1,-98,1,29,2,-101,2,10,3,116,3,-45,3,37,4,108,4,-93,4,-53,4,-25,4,-13,4,-17,4,-34,4,-66,4,-113,4,87,4,11,4,-67,3,90,3,-9,2,-117,2,19,2,-98,1,27,1,-98,0,26,0,-98,-1,31,-1,-93,-2,42,-2,-71,-3,75,-3,-20,-4,-112,-4,62,-4,-10,-5,-68,-5,-121,-5,106,-5,79,-5,70,-5,74,-5,90,-5,121,-5,-90,-5,-39,-5,35,-4,112,-4,-49,-4,45,-3,-96,-3,15,-2,-112,-2,13,-1,-114,-1,18,0,-109,0,21,1,-107,1,10,2,-126,2,-29,2,75,3,-99,3,-20,3,45,4,94,4,-120,4,-98,4,-81,4,-87,4,-94,4,-127,4,97,4,44,4,-21,3,-87,3,76,3,-6,2,-112,2,41,2,-79,1,61,1,-67,0,64,0,-64,-1,61,-1,-65,-2,61,-2,-57,-3,77,-3,-24,-4,-128,-4,38,-4,-38,-5,-109,-5,103,-5,59,-5,42,-5,34,-5,43,-5,71,-5,109,-5,-89,-5,-21,-5,63,-4,-100,-4,6,-3,114,-3,-21,-3,101,-2,-24,-2,102,-1,-22,-1,100,0,-32,0,91,1,-57,1}; }
	private static byte[] data10(){ return new byte[] {60,2,-106,2,-9,2,69,3,-111,3,-47,3,3,4,50,4,77,4,101,4,110,4,107,4,97,4,68,4,38,4,-13,3,-70,3,116,3,35,3,-53,2,104,2,0,2,-119,1,21,1,-108,0,24,0,-104,-1,24,-1,-101,-2,32,-2,-85,-3,67,-3,-36,-4,-121,-4,52,-4,-8,-5,-65,-5,-98,-5,-126,-5,123,-5,123,-5,-111,-5,-86,-5,-42,-5,11,-4,73,-4,-107,-4,-28,-4,63,-3,-101,-3,1,-2,105,-2,-40,-2,70,-1,-69,-1,39,0,-99,0,14,1,127,1,-18,1,85,2,-70,2,24,3,112,3,-66,3,5,4,60,4,108,4,-119,4,-97,4,-95,4,-107,4,125,4,80,4,27,4,-46,3,126,3,29,3,-75,2,64,2,-56,1,66,1,-60,0,57,0,-66,-1,58,-1,-67,-2,71,-2,-42,-3,113,-3,24,-3,-61,-4,127,-4,63,-4,17,-4,-18,-5,-47,-5,-56,-5,-64,-5,-53,-5,-36,-5,-9,-5,28,-4,74,-4,-126,-4,-59,-4,10,-3,95,-3,-81,-3,23,-2,115,-2,-25,-2,81,-1,-56,-1,60,0,-83,0,44,1,-103,1,17,2,121,2,-38,2,58,3,-116,3,-49,3,17,4,52,4,92,4,102,4,109,4,92,4,70,4,27,4,-23,3,-90,3,95,3,8,3,-80,2,77,2,-23,1,126,1,17,1,-92,0,52,0,-53,-1,96,-1,-10,-2,-111,-2,45,-2,-47,-3,123,-3,41,-3,-36,-4,-106,-4,90,-4,39,-4,-6,-5,-33,-5,-64,-5,-65,-5,-68,-5,-51,-5,-23,-5,17,-4,73,-4,-115,-4,-37,-4,57,-3,-101,-3,10,-2,-125,-2,-4,-2,126,-1,1,0,125,0,0,1,123,1,-18,1,97,2,-65,2,27,3,107,3,-85,3,-29,3,9,4,39,4,48,4,57,4,39,4,22,4,-12,3,-54,3,-107,3,93,3,18,3,-50,2,120,2,37,2,-52,1,102,1,11,1,-103,0,60,0,-52,-1,101,-1,-5,-2,-113,-2,42,-2,-55,-3,106,-3,23,-3,-62,-4,-128,-4,65,-4,14,-4,-18,-5,-48,-5,-55,-5,-53,-5,-39,-5,-3,-5,34,-4,94,-4,-97,-4,-16,-4,72,-3,-92,-3,10,-2,117,-2,-27,-2,83,-1,-59,-1,49,0,-101,0,11,1,104,1,-48,1,34,2,121,2,-64,2,8,3,66,3,119,3,-96,3,-58,3,-40,3,-16,3,-17,3,-18,3,-31,3,-62,3,-87,3,111,3,67,3,-12,2,-81,2,88,2,-8,1,-106,1,36,1,-75,0,62,0,-56,-1,83,-1,-41,-2,105,-2,-11,-3,-111,-3,48,-3,-34,-4,-115,-4,84,-4,28,-4,-4,-5,-32,-5,-38,-5,-38,-5,-19,-5,9,-4,49,-4,99,-4,-92,-4,-26,-4,55,-3,-117,-3,-30,-3,67,-2,-94,-2,10,-1,109,-1,-41,-1,58,0,-98,0,5,1,99,1,-60,1,27,2,111,2,-68,2,3,3,69,3,122,3,-87,3,-51,3,-31,3,-10,3,-16,3,-20,3,-45,3,-79,3,-124,3,74,3,7,3,-73,2,99,2,5,2,-93,1,56,1,-51,0,95,0,-18,-1,-122,-1,24,-1,-76,-2,79,-2,-10,-3,-97,-3,85,-3,14,-3,-45,-4,-95,-4,120,-4,90,-4,68,-4,58,-4,57,-4,67,-4,84,-4,114,-4,-109,-4,-57,-4,-5,-4,59,-3,-123,-3,-49,-3,38,-2,-126,-2,-31,-2,74,-1,-82,-1,26,0,-128,0,-15,0,85,1,-63,1,26,2,125,2,-56,2,30,3,87,3,-106,3,-67,3,-31,3,-14,3,-4,3,-12,3,-30,3,-59,3,-102,3,101,3,38,3,-37,2,-116,2,53,2,-41,1,115,1,14,1,-90,0,59,0,-41,-1,109,-1,9,-1,-87,-2,75,-2,-12,-3,-89,-3,88,-3,27,-3,-40,-4,-84,-4,126,-4,99,-4,77,-4,65,-4,67,-4,78,-4,100,-4,-123,-4,-83,-4,-27,-4,32,-3,103,-3,-75,-3,5,-2,98,-2,-66,-2,34,-1,-124,-1,-19,-1,77,0,-74,0,21,1,120,1,-48,1,40,2,116,2,-67,2,-4,2,52,3,98,3,-125,3,-96,3,-86,3,-78,3,-86,3,-104,3,125,3,87,3,38,3,-17,2,-85,2,99,2,19,2,-66,1,99,1,2,1,-94,0,58,0,-35,-1,117,-1,21,-1,-76,-2,88,-2,4,-2,-79,-3,108,-3,35,-3,-15,-4,-72,-4,-103,-4,117,-4,105,-4,90,-4,99,-4,106,-4,-120,-4,-94,-4,-43,-4,1,-3,72,-3,-123,-3,-40,-3,37,-2,127,-2,-38,-2,60,-1,-99,-1,-2,-1,100,0,-67,0,38,1,123,1,-43,1,38,2,111,2,-73,2,-15,2,37,3,80,3,113,3,-124,3,-105,3,-111,3,-114,3,120,3,92,3,54,3,6,3,-55,2,-115,2,63,2,-10,1,-98,1,71,1,-25,0,-119,0,40,0,-58,-1,106,-1,6,-1,-83,-2,84,-2,-1,-3,-72,-3,109,-3,50,-3,-8,-4,-50,-4,-91,-4,-110,-4,123,-4,122,-4,125,-4}; }
	private static byte[] data11(){ return new byte[] {-119,-4,-88,-4,-61,-4,-12,-4,39,-3,100,-3,-85,-3,-15,-3,70,-2,-101,-2,-10,-2,85,-1,-80,-1,19,0,110,0,-47,0,43,1,-125,1,-40,1,36,2,108,2,-82,2,-26,2,23,3,63,3,91,3,112,3,121,3,121,3,111,3,89,3,62,3,19,3,-26,2,-88,2,108,2,32,2,-41,1,-128,1,46,1,-54,0,119,0,15,0,-71,-1,89,-1,-4,-2,-91,-2,81,-2,-3,-3,-67,-3,112,-3,62,-3,5,-3,-36,-4,-67,-4,-93,-4,-105,-4,-109,-4,-104,-4,-86,-4,-61,-4,-27,-4,20,-3,70,-3,-121,-3,-57,-3,20,-2,97,-2,-73,-2,16,-1,107,-1,-57,-1,36,0,126,0,-34,0,49,1,-116,1,-41,1,36,2,104,2,-92,2,-36,2,7,3,47,3,69,3,90,3,94,3,96,3,81,3,61,3,27,3,-9,2,-63,2,-113,2,70,2,6,2,-74,1,103,1,15,1,-71,0,90,0,2,0,-91,-1,76,-1,-12,-2,-99,-2,77,-2,2,-2,-67,-3,122,-3,70,-3,18,-3,-17,-4,-51,-4,-68,-4,-84,-4,-82,-4,-76,-4,-57,-4,-31,-4,6,-3,49,-3,105,-3,-95,-3,-21,-3,45,-2,-127,-2,-49,-2,43,-1,126,-1,-34,-1,50,0,-111,0,-30,0,65,1,-120,1,-33,1,32,2,96,2,-97,2,-51,2,-5,2,27,3,50,3,65,3,74,3,64,3,56,3,29,3,-2,2,-40,2,-93,2,110,2,41,2,-22,1,-102,1,76,1,-9,0,-95,0,70,0,-14,-1,-106,-1,64,-1,-20,-2,-106,-2,75,-2,1,-2,-63,-3,-124,-3,78,-3,34,-3,-4,-4,-30,-4,-49,-4,-57,-4,-58,-4,-48,-4,-29,-4,-1,-4,34,-3,84,-3,-126,-3,-58,-3,3,-2,76,-2,-101,-2,-23,-2,66,-1,-108,-1,-15,-1,65,0,-98,0,-18,0,69,1,-112,1,-36,1,30,2,92,2,-109,2,-59,2,-25,2,12,3,28,3,45,3,46,3,41,3,26,3,1,3,-29,2,-74,2,-120,2,77,2,15,2,-54,1,-127,1,49,1,-32,0,-119,0,54,0,-33,-1,-120,-1,55,-1,-33,-2,-107,-2,72,-2,4,-2,-59,-3,-118,-3,90,-3,46,-3,15,-3,-11,-4,-30,-4,-31,-4,-38,-4,-15,-4,-5,-4,30,-3,63,-3,112,-3,-94,-3,-30,-3,31,-2,106,-2,-79,-2,6,-1,82,-1,-81,-1,-4,-1,86,0,-90,0,-6,0,72,1,-106,1,-40,1,28,2,86,2,-119,2,-73,2,-36,2,-11,2,14,3,17,3,26,3,13,3,-2,2,-22,2,-65,2,-96,2,101,2,51,2,-15,1,-79,1,100,1,27,1,-57,0,117,0,37,0,-52,-1,126,-1,42,-1,-38,-2,-112,-2,71,-2,4,-2,-53,-3,-109,-3,100,-3,62,-3,29,-3,6,-3,-3,-4,-16,-4,-2,-4,0,-3,30,-3,54,-3,94,-3,-115,-3,-66,-3,-2,-3,58,-2,-126,-2,-51,-2,25,-1,109,-1,-67,-1,13,0,99,0,-80,0,5,1,76,1,-103,1,-41,1,23,2,81,2,126,2,-83,2,-54,2,-26,2,-9,2,-2,2,0,3,-11,2,-28,2,-53,2,-89,2,-128,2,75,2,22,2,-42,1,-107,1,77,1,2,1,-79,0,100,0,15,0,-63,-1,113,-1,31,-1,-42,-2,-118,-2,71,-2,9,-2,-50,-3,-100,-3,112,-3,74,-3,48,-3,26,-3,13,-3,14,-3,14,-3,33,-3,52,-3,82,-3,124,-3,-91,-3,-34,-3,23,-2,84,-2,-98,-2,-31,-2,52,-1,125,-1,-47,-1,29,0,111,0,-68,0,11,1,83,1,-106,1,-36,1,14,2,75,2,118,2,-100,2,-64,2,-47,2,-28,2,-24,2,-23,2,-35,2,-55,2,-79,2,-118,2,102,2,47,2,-5,1,-70,1,126,1,51,1,-21,0,-97,0,76,0,6,0,-83,-1,105,-1,21,-1,-48,-2,-119,-2,70,-2,15,-2,-46,-3,-90,-3,122,-3,88,-3,64,-3,46,-3,33,-3,36,-3,39,-3,57,-3,79,-3,108,-3,-103,-3,-65,-3,-6,-3,48,-2,111,-2,-76,-2,-5,-2,70,-1,-109,-1,-32,-1,45,0,122,0,-58,0,18,1,86,1,-102,1,-43,1,15,2,63,2,111,2,-113,2,-83,2,-60,2,-51,2,-42,2,-48,2,-61,2,-78,2,-108,2,115,2,72,2,23,2,-35,1,-89,1,97,1,30,1,-40,0,-122,0,65,0,-16,-1,-87,-1,87,-1,20,-1,-58,-2,-120,-2,73,-2,14,-2,-36,-3,-82,-3,-124,-3,106,-3,76,-3,67,-3,53,-3,58,-3,62,-3,83,-3,102,-3,-118,-3,-81,-3,-36,-3,19,-2,73,-2,-118,-2,-54,-2,17,-1,90,-1,-91,-1,-16,-1,61,0,-124,0,-49,0,24,1,88,1,-99,1,-47,1,11,2,55,2,100,2,-127,2,-95,2,-82,2,-67,2,-65,2,-72,2,-81,2,-106,2,126,2,85,2,50,2,-7,1,-56,1,-117,1,75,1,8,1,-62,0,117,0}; }
	private static byte[] data12(){ return new byte[] {47,0,-29,-1,-102,-1,81,-1,8,-1,-57,-2,-125,-2,76,-2,17,-2,-29,-3,-75,-3,-108,-3,115,-3,98,-3,81,-3,75,-3,80,-3,84,-3,107,-3,-126,-3,-96,-3,-54,-3,-9,-3,41,-2,101,-2,-97,-2,-31,-2,38,-1,110,-1,-75,-1,1,0,71,0,-112,0,-39,0,25,1,96,1,-107,1,-45,1,3,2,49,2,86,2,120,2,-115,2,-94,2,-91,2,-83,2,-95,2,-105,2,127,2,100,2,61,2,23,2,-31,1,-80,1,114,1,56,1,-18,0,-79,0,99,0,30,0,-41,-1,-115,-1,73,-1,2,-1,-62,-2,-125,-2,76,-2,24,-2,-25,-3,-63,-3,-98,-3,-126,-3,114,-3,99,-3,95,-3,101,-3,107,-3,-124,-3,-105,-3,-67,-3,-33,-3,17,-2,67,-2,120,-2,-70,-2,-14,-2,62,-1,125,-1,-56,-1,13,0,81,0,-98,0,-38,0,37,1,92,1,-103,1,-51,1,-3,1,42,2,75,2,108,2,125,2,-112,2,-108,2,-105,2,-116,2,-128,2,103,2,75,2,38,2,-4,1,-52,1,-107,1,94,1,30,1,-33,0,-103,0,86,0,13,0,-54,-1,-124,-1,62,-1,-1,-2,-66,-2,-125,-2,79,-2,26,-2,-15,-3,-54,-3,-87,-3,-108,-3,127,-3,118,-3,116,-3,120,-3,-125,-3,-102,-3,-82,-3,-43,-3,-6,-3,37,-2,94,-2,-115,-2,-49,-2,9,-1,78,-1,-110,-1,-44,-1,29,0,91,0,-90,0,-28,0,36,1,98,1,-108,1,-51,1,-11,1,33,2,65,2,93,2,112,2,126,2,-127,2,-125,2,118,2,106,2,80,2,51,2,15,2,-29,1,-75,1,127,1,71,1,11,1,-55,0,-118,0,66,0,3,0,-68,-1,122,-1,56,-1,-8,-2,-67,-2,-124,-2,81,-2,32,-2,-8,-3,-45,-3,-73,-3,-97,-3,-110,-3,-122,-3,-120,-3,-116,-3,-101,-3,-83,-3,-56,-3,-20,-3,15,-2,65,-2,112,-2,-89,-2,-31,-2,32,-1,93,-1,-91,-1,-30,-1,41,0,104,0,-84,0,-22,0,41,1,95,1,-103,1,-62,1,-12,1,21,2,54,2,82,2,94,2,111,2,110,2,111,2,99,2,80,2,61,2,26,2,-7,1,-52,1,-98,1,106,1,51,1,-10,0,-73,0,121,0,51,0,-9,-1,-80,-1,114,-1,49,-1,-12,-2,-68,-2,-126,-2,86,-2,37,-2,-1,-3,-33,-3,-63,-3,-81,-3,-96,-3,-103,-3,-101,-3,-96,-3,-80,-3,-61,-3,-33,-3,2,-2,39,-2,86,-2,-121,-2,-69,-2,-10,-2,50,-1,112,-1,-78,-1,-13,-1,50,0,117,0,-79,0,-15,0,42,1,98,1,-109,1,-62,1,-21,1,12,2,45,2,64,2,84,2,90,2,95,2,90,2,77,2,63,2,34,2,8,2,-33,1,-71,1,-123,1,88,1,27,1,-26,0,-92,0,104,0,39,0,-25,-1,-87,-1,104,-1,42,-1,-13,-2,-75,-2,-117,-2,83,-2,46,-2,7,-2,-25,-3,-48,-3,-69,-3,-79,-3,-85,-3,-83,-3,-76,-3,-59,-3,-39,-3,-11,-3,23,-2,62,-2,108,-2,-100,-2,-49,-2,10,-1,66,-1,-124,-1,-66,-1,1,0,62,0,124,0,-70,0,-12,0,45,1,96,1,-110,1,-69,1,-27,1,5,2,30,2,55,2,65,2,76,2,77,2,69,2,59,2,40,2,14,2,-13,1,-57,1,-91,1,111,1,67,1,10,1,-47,0,-106,0,85,0,28,0,-39,-1,-95,-1,95,-1,39,-1,-21,-2,-68,-2,-125,-2,95,-2,46,-2,19,-2,-18,-3,-32,-3,-59,-3,-60,-3,-70,-3,-64,-3,-56,-3,-39,-3,-19,-3,12,-2,44,-2,83,-2,-126,-2,-84,-2,-25,-2,25,-1,86,-1,-110,-1,-51,-1,13,0,69,0,-119,0,-68,0,-5,0,46,1,96,1,-115,1,-70,1,-38,1,-3,1,20,2,39,2,53,2,59,2,57,2,53,2,37,2,20,2,-5,1,-39,1,-72,1,-118,1,97,1,41,1,-3,0,-70,0,-119,0,71,0,12,0,-46,-1,-108,-1,91,-1,31,-1,-19,-2,-74,-2,-117,-2,94,-2,56,-2,24,-2,-4,-3,-24,-3,-40,-3,-48,-3,-52,-3,-46,-3,-37,-3,-20,-3,3,-2,31,-2,66,-2,104,-2,-108,-2,-60,-2,-10,-2,45,-1,102,-1,-97,-1,-34,-1,21,0,82,0,-115,0,-59,0,-3,0,48,1,94,1,-117,1,-77,1,-44,1,-12,1,7,2,29,2,34,2,46,2,38,2,35,2,19,2,-1,1,-26,1,-57,1,-97,1,123,1,72,1,28,1,-27,0,-81,0,117,0,60,0,-1,-1,-57,-1,-116,-1,85,-1,27,-1,-22,-2,-72,-2,-116,-2,99,-2,63,-2,32,-2,6,-2,-10,-3,-29,-3,-30,-3,-36,-3,-29,-3,-17,-3,0,-2,21,-2,53,-2,85,-2,124,-2,-86,-2,-45,-2,11,-1,61,-1,118,-1,-81,-1,-25,-1,36,0,88,0,-105,0,-57,0,2,1,48,1,93,1,-120,1,-85,1,-48,1,-25,1}; }
	private static byte[] data13(){ return new byte[] {-2,1,14,2,22,2,27,2,25,2,12,2,4,2,-24,1,-43,1,-80,1,-113,1,100,1,57,1,8,1,-44,0,-97,0,103,0,44,0,-7,-1,-69,-1,-123,-1,79,-1,22,-1,-22,-2,-72,-2,-114,-2,105,-2,68,-2,42,-2,17,-2,-1,-3,-11,-3,-19,-3,-16,-3,-14,-3,4,-2,15,-2,44,-2,71,-2,105,-2,-112,-2,-70,-2,-22,-2,24,-1,81,-1,-126,-1,-66,-1,-13,-1,45,0,98,0,-99,0,-53,0,7,1,43,1,97,1,127,1,-85,1,-61,1,-31,1,-15,1,0,2,10,2,9,2,9,2,-5,1,-16,1,-41,1,-63,1,-99,1,123,1,82,1,37,1,-8,0,-61,0,-112,0,89,0,33,0,-21,-1,-77,-1,-128,-1,70,-1,24,-1,-28,-2,-69,-2,-110,-2,107,-2,78,-2,49,-2,28,-2,11,-2,3,-2,-4,-3,-1,-3,6,-2,18,-2,37,-2,62,-2,89,-2,125,-2,-93,-2,-52,-2,-5,-2,42,-1,95,-1,-111,-1,-53,-1,-2,-1,56,0,104,0,-92,0,-49,0,7,1,45,1,92,1,126,1,-94,1,-67,1,-43,1,-24,1,-13,1,-7,1,-2,1,-14,1,-15,1,-41,1,-53,1,-88,1,-113,1,101,1,66,1,19,1,-25,0,-77,0,-126,0,74,0,23,0,-33,-1,-82,-1,118,-1,67,-1,20,-1,-29,-2,-65,-2,-111,-2,117,-2,80,-2,61,-2,38,-2,23,-2,17,-2,10,-2,15,-2,24,-2,35,-2,56,-2,78,-2,110,-2,-114,-2,-74,-2,-36,-2,12,-1,58,-1,109,-1,-95,-1,-44,-1,11,0,61,0,115,0,-90,0,-42,0,5,1,48,1,86,1,125,1,-102,1,-75,1,-51,1,-38,1,-23,1,-22,1,-19,1,-26,1,-38,1,-51,1,-80,1,-98,1,118,1,89,1,43,1,6,1,-44,0,-89,0,113,0,64,0,9,0,-38,-1,-94,-1,112,-1,66,-1,14,-1,-25,-2,-68,-2,-104,-2,119,-2,91,-2,66,-2,52,-2,33,-2,32,-2,23,-2,32,-2,39,-2,53,-2,72,-2,99,-2,124,-2,-92,-2,-60,-2,-17,-2,28,-1,72,-1,126,-1,-86,-1,-28,-1,17,0,72,0,121,0,-86,0,-37,0,4,1,47,1,86,1,117,1,-105,1,-86,1,-59,1,-51,1,-34,1,-38,1,-32,1,-43,1,-54,1,-70,1,-94,1,-120,1,104,1,68,1,30,1,-14,0,-56,0,-107,0,102,0,51,0,0,0,-50,-1,-98,-1,105,-1,62,-1,14,-1,-26,-2,-65,-2,-101,-2,126,-2,96,-2,79,-2,56,-2,53,-2,37,-2,45,-2,41,-2,60,-2,66,-2,93,-2,113,-2,-112,-2,-76,-2,-43,-2,1,-1,41,-1,90,-1,-120,-1,-70,-1,-20,-1,28,0,80,0,126,0,-80,0,-36,0,6,1,45,1,84,1,111,1,-111,1,-93,1,-71,1,-59,1,-51,1,-47,1,-51,1,-56,1,-72,1,-86,1,-112,1,119,1,88,1,49,1,17,1,-31,0,-72,0,-118,0,86,0,43,0,-12,-1,-55,-1,-108,-1,102,-1,59,-1,9,-1,-20,-2,-68,-2,-92,-2,127,-2,108,-2,84,-2,70,-2,62,-2,52,-2,59,-2,56,-2,75,-2,83,-2,110,-2,-127,-2,-93,-2,-63,-2,-23,-2,14,-1,57,-1,103,-1,-106,-1,-58,-1,-11,-1,39,0,83,0,-119,0,-81,0,-31,0,6,1,43,1,81,1,105,1,-116,1,-104,1,-78,1,-73,1,-62,1,-60,1,-67,1,-70,1,-88,1,-103,1,-127,1,102,1,70,1,36,1,-4,0,-41,0,-88,0,123,0,78,0,26,0,-14,-1,-69,-1,-110,-1,95,-1,57,-1,9,-1,-21,-2,-64,-2,-89,-2,-121,-2,113,-2,95,-2,81,-2,70,-2,71,-2,66,-2,78,-2,86,-2,100,-2,126,-2,-111,-2,-75,-2,-48,-2,-7,-2,28,-1,74,-1,114,-1,-92,-1,-49,-1,1,0,46,0,92,0,-118,0,-73,0,-33,0,6,1,43,1,74,1,103,1,-125,1,-112,1,-86,1,-87,1,-71,1,-78,1,-76,1,-89,1,-101,1,-121,1,115,1,83,1,56,1,19,1,-18,0,-56,0,-103,0,113,0,63,0,21,0,-28,-1,-73,-1,-118,-1,93,-1,54,-1,9,-1,-21,-2,-60,-2,-86,-2,-114,-2,120,-2,104,-2,93,-2,80,-2,84,-2,80,-2,92,-2,100,-2,120,-2,-120,-2,-89,-2,-64,-2,-29,-2,6,-1,43,-1,86,-1,-126,-1,-83,-1,-35,-1,5,0,56,0,97,0,-111,0,-73,0,-29,0,4,1,41,1,72,1,96,1,125,1,-120,1,-99,1,-92,1,-90,1,-84,1,-96,1,-102,1,-115,1,118,1,100,1,67,1,41,1,2,1,-29,0,-75,0,-110,0,95,0,58,0,6,0,-32,-1,-83,-1,-120,-1,87,-1,53,-1,9,-1,-21,-2,-56,-2,-81,-2,-109,-2,-127,-2,114,-2,99,-2,98,-2,90,-2,99,-2,103,-2,116,-2,-123,-2,-101,-2,-77,-2,-46,-2,-16,-2}; }
	private static byte[] data14(){ return new byte[] {22,-1,57,-1,100,-1,-116,-1,-69,-1,-28,-1,16,0,62,0,104,0,-109,0,-67,0,-32,0,6,1,38,1,66,1,95,1,112,1,-122,1,-113,1,-103,1,-99,1,-101,1,-106,1,-117,1,124,1,105,1,82,1,56,1,22,1,-9,0,-47,0,-85,0,-126,0,88,0,42,0,3,0,-46,-1,-83,-1,125,-1,89,-1,47,-1,14,-1,-23,-2,-49,-2,-80,-2,-99,-2,-122,-2,124,-2,110,-2,108,-2,106,-2,108,-2,120,-2,-127,-2,-108,-2,-84,-2,-65,-2,-29,-2,-1,-2,33,-1,74,-1,109,-1,-99,-1,-65,-1,-13,-1,20,0,72,0,108,0,-105,0,-66,0,-30,0,6,1,32,1,66,1,85,1,109,1,123,1,-121,1,-115,1,-110,1,-115,1,-119,1,126,1,108,1,93,1,64,1,42,1,9,1,-25,0,-57,0,-100,0,119,0,76,0,33,0,-6,-1,-50,-1,-92,-1,124,-1,82,-1,50,-1,9,-1,-15,-2,-50,-2,-73,-2,-93,-2,-114,-2,-125,-2,124,-2,116,-2,120,-2,121,-2,-124,-2,-112,-2,-91,-2,-75,-2,-43,-2,-21,-2,16,-1,47,-1,85,-1,124,-1,-91,-1,-52,-1,-7,-1,32,0,74,0,115,0,-102,0,-66,0,-26,0,1,1,32,1,60,1,80,1,100,1,117,1,123,1,-124,1,-124,1,-126,1,124,1,112,1,94,1,78,1,50,1,29,1,-8,0,-34,0,-76,0,-107,0,105,0,66,0,25,0,-15,-1,-58,-1,-95,-1,118,-1,82,-1,46,-1,14,-1,-17,-2,-44,-2,-68,-2,-89,-2,-102,-2,-118,-2,-122,-2,127,-2,-124,-2,-123,-2,-108,-2,-100,-2,-78,-2,-58,-2,-34,-2,-1,-2,25,-1,62,-1,98,-1,-122,-1,-79,-1,-43,-1,0,0,42,0,77,0,122,0,-102,0,-60,0,-32,0,3,1,27,1,56,1,75,1,94,1,106,1,114,1,122,1,121,1,118,1,110,1,98,1,81,1,63,1,39,1,11,1,-18,0,-50,0,-86,0,-121,0,96,0,54,0,20,0,-27,-1,-60,-1,-104,-1,117,-1,79,-1,47,-1,13,-1,-13,-2,-42,-2,-61,-2,-83,-2,-95,-2,-108,-2,-112,-2,-118,-2,-113,-2,-108,-2,-99,-2,-82,-2,-68,-2,-42,-2,-20,-2,10,-1,40,-1,74,-1,108,-1,-108,-1,-73,-1,-29,-1,5,0,47,0,85,0,123,0,-95,0,-64,0,-28,0,-3,0,28,1,48,1,71,1,85,1,98,1,105,1,111,1,109,1,108,1,94,1,88,1,66,1,50,1,25,1,-2,0,-31,0,-64,0,-95,0,121,0,86,0,47,0,6,0,-26,-1,-73,-1,-104,-1,111,-1,80,-1,44,-1,18,-1,-15,-2,-34,-2,-58,-2,-75,-2,-88,-2,-98,-2,-104,-2,-104,-2,-104,-2,-95,-2,-86,-2,-71,-2,-52,-2,-31,-2,-6,-2,25,-1,50,-1,87,-1,120,-1,-100,-1,-58,-1,-26,-1,15,0,53,0,89,0,-128,0,-94,0,-62,0,-31,0,-2,0,22,1,46,1,63,1,78,1,90,1,96,1,100,1,100,1,92,1,86,1,72,1,54,1,39,1,8,1,-11,0,-47,0,-73,0,-109,0,111,0,77,0,37,0,-1,-1,-34,-1,-78,-1,-107,-1,108,-1,77,-1,48,-1,13,-1,-4,-2,-36,-2,-49,-2,-70,-2,-80,-2,-89,-2,-93,-2,-96,-2,-90,-2,-84,-2,-73,-2,-58,-2,-39,-2,-18,-2,7,-1,37,-1,61,-1,103,-1,126,-1,-85,-1,-54,-1,-15,-1,23,0,56,0,97,0,-127,0,-93,0,-59,0,-33,0,-4,0,19,1,40,1,57,1,72,1,81,1,87,1,89,1,89,1,82,1,72,1,60,1,42,1,23,1,1,1,-29,0,-55,0,-87,0,-120,0,104,0,63,0,33,0,-10,-1,-41,-1,-79,-1,-116,-1,111,-1,72,-1,50,-1,15,-1,-1,-2,-34,-2,-40,-2,-67,-2,-68,-2,-83,-2,-83,-2,-84,-2,-80,-2,-72,-2,-60,-2,-47,-2,-25,-2,-7,-2,22,-1,46,-1,78,-1,106,-1,-112,-1,-81,-1,-41,-1,-10,-1,31,0,60,0,103,0,-127,0,-88,0,-61,0,-34,0,-5,0,12,1,38,1,50,1,63,1,75,1,75,1,81,1,77,1,69,1,64,1,46,1,29,1,13,1,-17,0,-36,0,-68,0,-99,0,-128,0,89,0,60,0,19,0,-12,-1,-49,-1,-84,-1,-117,-1,106,-1,73,-1,49,-1,20,-1,-3,-2,-22,-2,-43,-2,-54,-2,-63,-2,-75,-2,-70,-2,-78,-2,-65,-2,-64,-2,-45,-2,-38,-2,-11,-2,6,-1,32,-1,60,-1,86,-1,120,-1,-104,-1,-70,-1,-34,-1,-3,-1,38,0,64,0,108,0,-125,0,-87,0,-62,0,-34,0,-10,0,12,1,29,1,47,1,54,1,67,1,67,1,71,1,65,1,60,1,49,1,37,1,17,1,-1,0,-26,0,-51,0,-78,0,-108,0,115,0,82,0,50,0,11,0,-15,-1,-59,-1,-85,-1,-122,-1,104,-1,75,-1}; }
	private static byte[] data15(){ return new byte[] {47,-1,24,-1,-1,-2,-18,-2,-36,-2,-48,-2,-55,-2,-66,-2,-62,-2,-66,-2,-55,-2,-52,-2,-34,-2,-25,-2,0,-1,18,-1,44,-1,69,-1,99,-1,-128,-1,-92,-1,-63,-1,-26,-1,4,0,40,0,76,0,102,0,-113,0,-94,0,-57,0,-38,0,-12,0,7,1,25,1,40,1,47,1,59,1,57,1,61,1,57,1,46,1,41,1,21,1,9,1,-15,0,-36,0,-62,0,-91,0,-117,0,103,0,77,0,38,0,8,0,-28,-1,-57,-1,-94,-1,-121,-1,100,-1,76,-1,47,-1,27,-1,2,-1,-12,-2,-32,-2,-39,-2,-50,-2,-54,-2,-55,-2,-53,-2,-49,-2,-36,-2,-28,-2,-9,-2,9,-1,29,-1,57,-1,79,-1,110,-1,-117,-1,-87,-1,-51,-1,-20,-1,11,0,48,0,74,0,113,0,-118,0,-88,0,-61,0,-38,0,-16,0,6,1,16,1,36,1,39,1,50,1,50,1,50,1,46,1,38,1,27,1,12,1,-4,0,-25,0,-48,0,-73,0,-100,0,127,0,98,0,63,0,34,0,0,0,-33,-1,-61,-1,-99,-1,-123,-1,99,-1,78,-1,46,-1,32,-1,3,-1,-6,-2,-26,-2,-33,-2,-42,-2,-45,-2,-47,-2,-42,-2,-39,-2,-26,-2,-16,-2,2,-1,20,-1,41,-1,66,-1,92,-1,117,-1,-105,-1,-79,-1,-42,-1,-15,-1,19,0,50,0,82,0,113,0,-116,0,-87,0,-63,0,-39,0,-19,0,0,1,13,1,28,1,33,1,41,1,41,1,42,1,34,1,29,1,15,1,3,1,-18,0,-33,0,-62,0,-79,0,-113,0,119,0,87,0,58,0,24,0,-4,-1,-39,-1,-66,-1,-100,-1,-127,-1,100,-1,75,-1,52,-1,30,-1,12,-1,-6,-2,-16,-2,-31,-2,-29,-2,-42,-2,-33,-2,-36,-2,-27,-2,-16,-2,-5,-2,12,-1,32,-1,52,-1,75,-1,102,-1,-127,-1,-99,-1,-68,-1,-38,-1,-6,-1,24,0,56,0,84,0,115,0,-112,0,-89,0,-63,0,-41,0,-23,0,-3,0,8,1,18,1,31,1,27,1,39,1,27,1,28,1,16,1,6,1,-8,0,-27,0,-47,0,-69,0,-94,0,-117,0,106,0,81,0,47,0,20,0,-12,-1,-42,-1,-72,-1,-102,-1,127,-1,98,-1,79,-1,49,-1,36,-1,13,-1,0,-1,-10,-2,-24,-2,-23,-2,-32,-2,-26,-2,-25,-2,-17,-2,-7,-2,7,-1,22,-1,42,-1,62,-1,86,-1,112,-1,-119,-1,-88,-1,-63,-1,-29,-1,-1,-1,31,0,59,0,88,0,118,0,-114,0,-87,0,-64,0,-45,0,-24,0,-10,0,3,1,15,1,19,1,26,1,22,1,24,1,16,1,7,1,-3,0,-23,0,-33,0,-60,0,-76,0,-105,0,127,0,101,0,70,0,43,0,12,0,-19,-1,-45,-1,-76,-1,-105,-1,126,-1,98,-1,78,-1,54,-1,36,-1,18,-1,5,-1,-6,-2,-13,-2,-20,-2,-20,-2,-21,-2,-12,-2,-10,-2,5,-1,15,-1,35,-1,50,-1,74,-1,94,-1,121,-1,-109,-1,-82,-1,-53,-1,-23,-1,4,0,36,0,61,0,94,0,117,0,-111,0,-88,0,-66,0,-47,0,-27,0,-16,0,0,1,7,1,12,1,18,1,15,1,13,1,8,1,-4,0,-14,0,-28,0,-49,0,-65,0,-91,0,-110,0,116,0,94,0,61,0,35,0,8,0,-26,-1,-47,-1,-83,-1,-104,-1,122,-1,101,-1,75,-1,59,-1,37,-1,24,-1,9,-1,1,-1,-9,-2,-9,-2,-16,-2,-7,-2,-9,-2,5,-1,10,-1,29,-1,41,-1,63,-1,81,-1,106,-1,127,-1,-97,-1,-78,-1,-42,-1,-20,-1,12,0,40,0,65,0,96,0,120,0,-112,0,-86,0,-70,0,-47,0,-33,0,-18,0,-7,0,1,1,6,1,9,1,7,1,6,1,-5,0,-9,0,-27,0,-36,0,-61,0,-73,0,-101,0,-119,0,108,0,84,0,56,0,27,0,2,0,-29,-1,-54,-1,-83,-1,-108,-1,122,-1,102,-1,75,-1,62,-1,39,-1,29,-1,15,-1,4,-1,1,-1,-5,-2,-4,-2,-4,-2,6,-1,9,-1,24,-1,36,-1,51,-1,72,-1,92,-1,113,-1,-117,-1,-93,-1,-67,-1,-38,-1,-11,-1,15,0,45,0,69,0,98,0,120,0,-108,0,-92,0,-66,0,-55,0,-33,0,-24,0,-13,0,-3,0,-4,0,3,1,0,1,-6,0,-10,0,-23,0,-32,0,-50,0,-65,0,-88,0,-105,0,125,0,102,0,76,0,48,0,22,0,-4,-1,-33,-1,-58,-1,-85,-1,-111,-1,123,-1,99,-1,80,-1,62,-1,43,-1,33,-1,19,-1,11,-1,8,-1,0,-1,6,-1,4,-1,13,-1,21,-1,30,-1,48,-1,60,-1,81,-1,102,-1,120,-1,-107,-1,-87,-1,-58,-1,-32,-1,-6,-1,21,0,47,0,75,0,97,0,125,0,-113,0,-87,0,-74,0,-51,0,-42,0,-26,0,-19,0,-12,0,-6,0,-8,0,-7,0,-15,0,-19,0}; }
	private static byte[] data16(){ return new byte[] {-30,0,-43,0,-59,0,-74,0,-96,0,-115,0,118,0,92,0,70,0,42,0,15,0,-9,-1,-37,-1,-62,-1,-88,-1,-110,-1,119,-1,102,-1,80,-1,63,-1,50,-1,34,-1,25,-1,18,-1,11,-1,12,-1,9,-1,17,-1,18,-1,32,-1,37,-1,58,-1,70,-1,88,-1,112,-1,-128,-1,-100,-1,-77,-1,-55,-1,-22,-1,-4,-1,28,0,51,0,75,0,103,0,122,0,-111,0,-89,0,-76,0,-53,0,-48,0,-28,0,-26,0,-16,0,-16,0,-13,0,-16,0,-23,0,-26,0,-43,0,-48,0,-69,0,-85,0,-101,0,-128,0,114,0,83,0,63,0,35,0,11,0,-15,-1,-41,-1,-64,-1,-92,-1,-111,-1,120,-1,101,-1,83,-1,65,-1,53,-1,38,-1,31,-1,22,-1,20,-1,17,-1,19,-1,21,-1,31,-1,35,-1,53,-1,61,-1,81,-1,98,-1,116,-1,-115,-1,-96,-1,-70,-1,-45,-1,-21,-1,5,0,30,0,53,0,80,0,103,0,123,0,-109,0,-95,0,-72,0,-62,0,-45,0,-39,0,-28,0,-24,0,-20,0,-22,0,-24,0,-29,0,-38,0,-48,0,-59,0,-77,0,-92,0,-112,0,123,0,103,0,78,0,56,0,28,0,8,0,-22,-1,-42,-1,-70,-1,-91,-1,-115,-1,122,-1,101,-1,85,-1,68,-1,54,-1,46,-1,32,-1,33,-1,21,-1,28,-1,23,-1,33,-1,34,-1,49,-1,56,-1,74,-1,86,-1,108,-1,125,-1,-110,-1,-85,-1,-66,-1,-37,-1,-17,-1,11,0,32,0,60,0,80,0,104,0,125,0,-112,0,-92,0,-79,0,-61,0,-53,0,-40,0,-34,0,-31,0,-26,0,-30,0,-31,0,-37,0,-46,0,-55,0,-70,0,-83,0,-103,0,-118,0,114,0,96,0,73,0,45,0,29,0,-5,-1,-20,-1,-50,-1,-69,-1,-95,-1,-113,-1,118,-1,106,-1,83,-1,73,-1,59,-1,46,-1,41,-1,36,-1,27,-1,38,-1,26,-1,45,-1,39,-1,59,-1,63,-1,83,-1,95,-1,115,-1,-123,-1,-102,-1,-79,-1,-58,-1,-33,-1,-9,-1,12,0,40,0,59,0,85,0,103,0,-128,0,-115,0,-92,0,-82,0,-63,0,-59,0,-41,0,-45,0,-32,0,-36,0,-35,0,-39,0,-45,0,-55,0,-61,0,-81,0,-89,0,-112,0,-126,0,109,0,87,0,66,0,41,0,21,0,-7,-1,-25,-1,-52,-1,-74,-1,-93,-1,-117,-1,121,-1,105,-1,86,-1,77,-1,59,-1,54,-1,45,-1,38,-1,43,-1,32,-1,45,-1,43,-1,53,-1,64,-1,73,-1,89,-1,105,-1,122,-1,-115,-1,-96,-1,-71,-1,-53,-1,-25,-1,-7,-1,19,0,41,0,63,0,86,0,105,0,127,0,-114,0,-96,0,-82,0,-69,0,-60,0,-49,0,-48,0,-39,0,-43,0,-40,0,-50,0,-48,0,-66,0,-68,0,-88,0,-99,0,-117,0,121,0,102,0,81,0,59,0,35,0,16,0,-11,-1,-28,-1,-57,-1,-73,-1,-99,-1,-114,-1,121,-1,105,-1,91,-1,75,-1,67,-1,56,-1,51,-1,45,-1,45,-1,43,-1,50,-1,51,-1,62,-1,68,-1,84,-1,97,-1,110,-1,-123,-1,-112,-1,-84,-1,-69,-1,-44,-1,-24,-1,2,0,21,0,44,0,66,0,87,0,107,0,124,0,-112,0,-100,0,-83,0,-73,0,-64,0,-53,0,-53,0,-46,0,-49,0,-47,0,-56,0,-58,0,-71,0,-78,0,-94,0,-108,0,-124,0,113,0,96,0,73,0,53,0,32,0,8,0,-13,-1,-32,-1,-61,-1,-73,-1,-101,-1,-114,-1,120,-1,110,-1,88,-1,82,-1,69,-1,59,-1,59,-1,48,-1,52,-1,50,-1,55,-1,60,-1,69,-1,76,-1,92,-1,103,-1,119,-1,-118,-1,-103,-1,-78,-1,-63,-1,-39,-1,-17,-1,3,0,26,0,49,0,65,0,91,0,105,0,127,0,-117,0,-96,0,-93,0,-69,0,-73,0,-55,0,-60,0,-51,0,-54,0,-56,0,-59,0,-70,0,-74,0,-89,0,-100,0,-115,0,124,0,107,0,88,0,67,0,49,0,24,0,6,0,-19,-1,-36,-1,-60,-1,-78,-1,-100,-1,-116,-1,123,-1,108,-1,95,-1,81,-1,74,-1,65,-1,61,-1,57,-1,55,-1,58,-1,63,-1,64,-1,79,-1,82,-1,98,-1,113,-1,125,-1,-111,-1,-95,-1,-75,-1,-55,-1,-33,-1,-14,-1,9,0,29,0,49,0,71,0,89,0,108,0,124,0,-114,0,-105,0,-86,0,-82,0,-69,0,-66,0,-60,0,-60,0,-59,0,-62,0,-69,0,-73,0,-84,0,-95,0,-107,0,-123,0,116,0,103,0,79,0,63,0,43,0,18,0,4,0,-25,-1,-37,-1,-64,-1,-79,-1,-100,-1,-116,-1,124,-1,109,-1,97,-1,84,-1,80,-1,66,-1,68,-1,61,-1,61,-1,66,-1,67,-1,74,-1,83,-1,90,-1,108,-1,116,-1,-120,-1,-108,-1,-86,-1,-70,-1,-49,-1,-28,-1,-10,-1,15,0}; }
	private static byte[] data17(){ return new byte[] {28,0,56,0,69,0,93,0,107,0,124,0,-117,0,-103,0,-94,0,-80,0,-77,0,-68,0,-67,0,-64,0,-67,0,-67,0,-76,0,-80,0,-91,0,-103,0,-113,0,125,0,112,0,93,0,76,0,56,0,37,0,16,0,-4,-1,-22,-1,-46,-1,-61,-1,-84,-1,-98,-1,-117,-1,125,-1,110,-1,100,-1,88,-1,81,-1,73,-1,71,-1,67,-1,69,-1,69,-1,75,-1,81,-1,89,-1,99,-1,113,-1,123,-1,-113,-1,-101,-1,-82,-1,-62,-1,-45,-1,-23,-1,-5,-1,17,0,33,0,57,0,71,0,95,0,105,0,126,0,-120,0,-105,0,-95,0,-86,0,-80,0,-72,0,-73,0,-70,0,-71,0,-77,0,-78,0,-91,0,-95,0,-111,0,-118,0,115,0,109,0,83,0,74,0,48,0,33,0,12,0,-9,-1,-25,-1,-47,-1,-66,-1,-81,-1,-103,-1,-113,-1,125,-1,112,-1,103,-1,89,-1,87,-1,77,-1,76,-1,71,-1,76,-1,74,-1,83,-1,86,-1,96,-1,107,-1,118,-1,-124,-1,-110,-1,-90,-1,-81,-1,-51,-1,-45,-1,-15,-1,-2,-1,19,0,38,0,58,0,73,0,94,0,107,0,122,0,-118,0,-110,0,-96,0,-90,0,-84,0,-77,0,-78,0,-74,0,-79,0,-82,0,-85,0,-96,0,-103,0,-116,0,-128,0,112,0,101,0,79,0,66,0,45,0,26,0,10,0,-14,-1,-28,-1,-49,-1,-68,-1,-82,-1,-103,-1,-114,-1,-128,-1,112,-1,107,-1,91,-1,92,-1,79,-1,83,-1,76,-1,81,-1,80,-1,89,-1,92,-1,105,-1,110,-1,127,-1,-120,-1,-101,-1,-88,-1,-70,-1,-52,-1,-35,-1,-14,-1,3,0,22,0,40,0,60,0,75,0,93,0,108,0,121,0,-119,0,-113,0,-99,0,-94,0,-87,0,-81,0,-85,0,-78,0,-86,0,-85,0,-96,0,-99,0,-111,0,-122,0,122,0,106,0,94,0,74,0,61,0,38,0,24,0,4,0,-16,-1,-31,-1,-52,-1,-68,-1,-84,-1,-102,-1,-113,-1,126,-1,119,-1,104,-1,100,-1,91,-1,87,-1,84,-1,84,-1,85,-1,87,-1,95,-1,97,-1,112,-1,117,-1,-124,-1,-111,-1,-98,-1,-81,-1,-64,-1,-49,-1,-26,-1,-14,-1,9,0,23,0,45,0,59,0,79,0,91,0,110,0,118,0,-121,0,-113,0,-104,0,-95,0,-93,0,-86,0,-88,0,-84,0,-92,0,-91,0,-101,0,-107,0,-115,0,125,0,117,0,100,0,88,0,68,0,57,0,32,0,21,0,-1,-1,-17,-1,-37,-1,-51,-1,-71,-1,-84,-1,-101,-1,-114,-1,-127,-1,119,-1,110,-1,99,-1,98,-1,90,-1,89,-1,90,-1,88,-1,96,-1,98,-1,106,-1,116,-1,124,-1,-118,-1,-105,-1,-93,-1,-74,-1,-60,-1,-42,-1,-25,-1,-8,-1,12,0,25,0,49,0,58,0,82,0,91,0,108,0,119,0,-125,0,-113,0,-109,0,-96,0,-99,0,-90,0,-93,0,-89,0,-98,0,-95,0,-110,0,-109,0,-126,0,123,0,109,0,96,0,81,0,66,0,45,0,36,0,10,0,0,0,-21,-1,-39,-1,-54,-1,-71,-1,-86,-1,-100,-1,-112,-1,-127,-1,122,-1,110,-1,107,-1,96,-1,99,-1,91,-1,95,-1,95,-1,101,-1,103,-1,114,-1,119,-1,-123,-1,-114,-1,-98,-1,-87,-1,-69,-1,-56,-1,-36,-1,-23,-1,-1,-1,11,0,33,0,45,0,66,0,76,0,95,0,107,0,116,0,-123,0,-120,0,-108,0,-103,0,-101,0,-95,0,-97,0,-96,0,-101,0,-105,0,-110,0,-120,0,-128,0,114,0,105,0,89,0,76,0,61,0,41,0,31,0,6,0,-3,-1,-25,-1,-40,-1,-54,-1,-76,-1,-82,-1,-103,-1,-110,-1,-125,-1,124,-1,112,-1,111,-1,100,-1,102,-1,97,-1,99,-1,102,-1,103,-1,113,-1,115,-1,-126,-1,-121,-1,-106,-1,-95,-1,-79,-1,-66,-1,-49,-1,-35,-1,-15,-1,-1,-1,16,0,34,0,48,0,66,0,79,0,92,0,107,0,117,0,-128,0,-120,0,-112,0,-106,0,-105,0,-99,0,-102,0,-103,0,-102,0,-114,0,-115,0,-125,0,120,0,112,0,97,0,83,0,73,0,53,0,41,0,22,0,8,0,-12,-1,-23,-1,-45,-1,-55,-1,-74,-1,-86,-1,-100,-1,-111,-1,-121,-1,123,-1,119,-1,109,-1,108,-1,104,-1,102,-1,105,-1,105,-1,111,-1,116,-1,123,-1,-122,-1,-114,-1,-101,-1,-89,-1,-75,-1,-61,-1,-44,-1,-30,-1,-13,-1,3,0,18,0,37,0,48,0,69,0,77,0,94,0,105,0,116,0,126,0,-122,0,-115,0,-112,0,-104,0,-109,0,-101,0,-111,0,-108,0,-117,0,-122,0,126,0,115,0,105,0,93,0,79,0,65,0,51,0,35,0,20,0,3,0,-13,-1,-28,-1,-43,-1,-60,-1,-72,-1,-88,-1,-98,-1,-111,-1,-119,-1,125,-1,121,-1,115,-1,108,-1}; }
	private static byte[] data18(){ return new byte[] {110,-1,106,-1,109,-1,112,-1,114,-1,122,-1,-127,-1,-117,-1,-109,-1,-95,-1,-85,-1,-68,-1,-58,-1,-39,-1,-27,-1,-9,-1,7,0,20,0,39,0,50,0,69,0,77,0,96,0,102,0,116,0,124,0,-126,0,-118,0,-113,0,-111,0,-110,0,-109,0,-114,0,-113,0,-124,0,-125,0,118,0,112,0,99,0,86,0,75,0,61,0,46,0,31,0,16,0,-1,-1,-15,-1,-30,-1,-46,-1,-60,-1,-72,-1,-90,-1,-95,-1,-111,-1,-117,-1,-128,-1,124,-1,116,-1,115,-1,112,-1,111,-1,114,-1,116,-1,120,-1,127,-1,-121,-1,-114,-1,-100,-1,-94,-1,-76,-1,-67,-1,-50,-1,-37,-1,-22,-1,-6,-1,10,0,22,0,42,0,50,0,71,0,77,0,94,0,104,0,112,0,123,0,-128,0,-122,0,-115,0,-117,0,-112,0,-116,0,-116,0,-121,0,-126,0,123,0,114,0,106,0,94,0,82,0,70,0,56,0,42,0,27,0,13,0,-5,-1,-15,-1,-34,-1,-47,-1,-61,-1,-74,-1,-87,-1,-96,-1,-109,-1,-118,-1,-122,-1,123,-1,122,-1,118,-1,114,-1,119,-1,115,-1,123,-1,125,-1,-124,-1,-117,-1,-107,-1,-97,-1,-86,-1,-74,-1,-61,-1,-47,-1,-31,-1,-21,-1,0,0,10,0,27,0,40,0,56,0,65,0,85,0,87,0,108,0,106,0,124,0,123,0,-122,0,-122,0,-118,0,-118,0,-118,0,-123,0,-124,0,122,0,122,0,106,0,103,0,87,0,78,0,66,0,51,0,38,0,23,0,9,0,-5,-1,-21,-1,-33,-1,-50,-1,-61,-1,-75,-1,-87,-1,-94,-1,-109,-1,-114,-1,-123,-1,-127,-1,123,-1,124,-1,116,-1,123,-1,122,-1,125,-1,-124,-1,-120,-1,-113,-1,-99,-1,-95,-1,-79,-1,-71,-1,-55,-1,-44,-1,-27,-1,-16,-1,1,0,14,0,28,0,43,0,55,0,69,0,80,0,92,0,101,0,109,0,120,0,121,0,-125,0,-125,0,-124,0,-119,0,-126,0,-124,0,124,0,121,0,112,0,106,0,94,0,85,0,73,0,60,0,49,0,32,0,22,0,4,0,-7,-1,-23,-1,-37,-1,-47,-1,-67,-1,-70,-1,-90,-1,-93,-1,-105,-1,-116,-1,-117,-1,-127,-1,-128,-1,126,-1,122,-1,125,-1,127,-1,-126,-1,-120,-1,-114,-1,-108,-1,-96,-1,-89,-1,-76,-1,-64,-1,-53,-1,-38,-1,-26,-1,-11,-1,2,0,17,0,30,0,44,0,57,0,68,0,81,0,90,0,101,0,107,0,118,0,119,0,-128,0,127,0,-126,0,-126,0,-128,0,126,0,122,0,113,0,110,0,98,0,91,0,80,0,69,0,56,0,43,0,31,0,15,0,6,0,-14,-1,-22,-1,-40,-1,-50,-1,-62,-1,-76,-1,-85,-1,-94,-1,-107,-1,-107,-1,-121,-1,-120,-1,-125,-1,126,-1,-126,-1,127,-1,-124,-1,-121,-1,-116,-1,-110,-1,-101,-1,-93,-1,-83,-1,-73,-1,-60,-1,-47,-1,-37,-1,-20,-1,-10,-1,5,0,21,0,30,0,45,0,59,0,67,0,82,0,90,0,97,0,109,0,111,0,122,0,120,0,126,0,127,0,124,0,126,0,121,0,115,0,113,0,101,0,97,0,85,0,75,0,65,0,51,0,41,0,27,0,12,0,2,0,-15,-1,-25,-1,-40,-1,-51,-1,-65,-1,-72,-1,-88,-1,-92,-1,-103,-1,-109,-1,-116,-1,-117,-1,-127,-1,-119,-1,127,-1,-120,-1,-122,-1,-117,-1,-111,-1,-104,-1,-99,-1,-87,-1,-79,-1,-69,-1,-54,-1,-45,-1,-32,-1,-18,-1,-6,-1,8,0,21,0,34,0,45,0,60,0,67,0,81,0,90,0,95,0,108,0,110,0,115,0,122,0,120,0,123,0,123,0,119,0,117,0,113,0,104,0,101,0,90,0,81,0,72,0,59,0,49,0,37,0,22,0,12,0,-4,-1,-14,-1,-29,-1,-40,-1,-53,-1,-64,-1,-74,-1,-85,-1,-92,-1,-102,-1,-107,-1,-111,-1,-120,-1,-116,-1,-123,-1,-119,-1,-120,-1,-117,-1,-111,-1,-108,-1,-100,-1,-92,-1,-85,-1,-73,-1,-64,-1,-52,-1,-41,-1,-28,-1,-15,-1,-4,-1,12,0,21,0,36,0,47,0,58,0,70,0,79,0,89,0,96,0,103,0,110,0,112,0,118,0,118,0,119,0,119,0,115,0,113,0,108,0,102,0,93,0,88,0,74,0,72,0,51,0,50,0,27,0,24,0,6,0,-5,-1,-16,-1,-31,-1,-41,-1,-54,-1,-65,-1,-73,-1,-85,-1,-90,-1,-101,-1,-104,-1,-112,-1,-111,-1,-120,-1,-113,-1,-120,-1,-115,-1,-111,-1,-110,-1,-101,-1,-97,-1,-89,-1,-78,-1,-71,-1,-60,-1,-47,-1,-39,-1,-23,-1,-14,-1,1,0,12,0,25,0,35,0,50,0,57,0,71,0,78,0,86,0,98,0,99,0,108,0,111,0,113,0,116,0,116,0,114,0,112,0,108,0,106,0,94,0,93,0,80,0,74,0,63,0,52,0}; }
	private static byte[] data19(){ return new byte[] {41,0,29,0,19,0,2,0,-4,-1,-22,-1,-30,-1,-42,-1,-56,-1,-62,-1,-77,-1,-80,-1,-93,-1,-95,-1,-105,-1,-108,-1,-110,-1,-115,-1,-112,-1,-113,-1,-113,-1,-108,-1,-104,-1,-99,-1,-91,-1,-83,-1,-79,-1,-62,-1,-60,-1,-41,-1,-36,-1,-21,-1,-10,-1,2,0,15,0,25,0,39,0,47,0,61,0,68,0,79,0,86,0,94,0,99,0,105,0,109,0,110,0,112,0,113,0,109,0,111,0,101,0,102,0,91,0,89,0,74,0,73,0,55,0,51,0,38,0,24,0,17,0,0,0,-8,-1,-22,-1,-31,-1,-45,-1,-54,-1,-65,-1,-74,-1,-81,-1,-90,-1,-95,-1,-103,-1,-104,-1,-110,-1,-108,-1,-112,-1,-109,-1,-108,-1,-104,-1,-102,-1,-91,-1,-92,-1,-76,-1,-74,-1,-61,-1,-54,-1,-39,-1,-34,-1,-14,-1,-12,-1,8,0,14,0,28,0,39,0,50,0,58,0,72,0,74,0,88,0,91,0,98,0,103,0,105,0,109,0,107,0,111,0,105,0,106,0,99,0,96,0,90,0,81,0,74,0,65,0,56,0,45,0,34,0,23,0,12,0,0,0,-11,-1,-24,-1,-32,-1,-46,-1,-54,-1,-64,-1,-74,-1,-81,-1,-88,-1,-94,-1,-99,-1,-103,-1,-107,-1,-106,-1,-107,-1,-107,-1,-103,-1,-103,-1,-93,-1,-93,-1,-82,-1,-77,-1,-68,-1,-58,-1,-49,-1,-37,-1,-29,-1,-14,-1,-7,-1,9,0,17,0,29,0,40,0,50,0,60,0,69,0,77,0,83,0,93,0,94,0,101,0,104,0,102,0,110,0,102,0,105,0,101,0,95,0,93,0,85,0,77,0,72,0,59,0,55,0,38,0,35,0,16,0,13,0,-5,-1,-11,-1,-26,-1,-33,-1,-48,-1,-52,-1,-68,-1,-70,-1,-80,-1,-90,-1,-88,-1,-102,-1,-97,-1,-105,-1,-104,-1,-103,-1,-104,-1,-100,-1,-96,-1,-94,-1,-85,-1,-81,-1,-72,-1,-64,-1,-54,-1,-47,-1,-33,-1,-25,-1,-14,-1,-1,-1,7,0,21,0,29,0,42,0,50,0,59,0,70,0,74,0,85,0,89,0,92,0,101,0,97,0,106,0,100,0,104,0,98,0,99,0,91,0,90,0,80,0,75,0,66,0,57,0,51,0,36,0,30,0,16,0,8,0,-6,-1,-12,-1,-29,-1,-33,-1,-48,-1,-55,-1,-63,-1,-73,-1,-80,-1,-84,-1,-93,-1,-92,-1,-101,-1,-99,-1,-102,-1,-100,-1,-99,-1,-99,-1,-90,-1,-92,-1,-79,-1,-81,-1,-63,-1,-66,-1,-46,-1,-46,-1,-31,-1,-20,-1,-13,-1,3,0,7,0,24,0,29,0,44,0,49,0,61,0,67,0,76,0,82,0,87,0,92,0,97,0,96,0,102,0,97,0,101,0,95,0,94,0,89,0,85,0,76,0,74,0,58,0,59,0,42,0,37,0,25,0,14,0,6,0,-8,-1,-15,-1,-28,-1,-36,-1,-48,-1,-53,-1,-67,-1,-68,-1,-81,-1,-82,-1,-91,-1,-91,-1,-98,-1,-96,-1,-99,-1,-97,-1,-97,-1,-93,-1,-90,-1,-85,-1,-78,-1,-74,-1,-65,-1,-56,-1,-50,-1,-37,-1,-30,-1,-19,-1,-7,-1,0,0,13,0,22,0,33,0,42,0,51,0,59,0,69,0,73,0,81,0,87,0,88,0,97,0,93,0,97,0,98,0,93,0,97,0,87,0,88,0,78,0,77,0,64,0,63,0,48,0,43,0,33,0,22,0,12,0,4,0,-12,-1,-14,-1,-31,-1,-36,-1,-47,-1,-57,-1,-63,-1,-70,-1,-78,-1,-81,-1,-90,-1,-89,-1,-94,-1,-95,-1,-96,-1,-93,-1,-95,-1,-88,-1,-88,-1,-81,-1,-76,-1,-68,-1,-63,-1,-53,-1,-44,-1,-38,-1,-24,-1,-18,-1,-5,-1,4,0,13,0,24,0,34,0,42,0,52,0,59,0,67,0,73,0,81,0,82,0,91,0,89,0,94,0,94,0,93,0,94,0,87,0,90,0,79,0,80,0,69,0,64,0,56,0,48,0,39,0,30,0,19,0,10,0,2,0,-13,-1,-16,-1,-33,-1,-36,-1,-47,-1,-58,-1,-60,-1,-73,-1,-74,-1,-82,-1,-85,-1,-90,-1,-89,-1,-95,-1,-91,-1,-91,-1,-92,-1,-83,-1,-87,-1,-76,-1,-72,-1,-67,-1,-57,-1,-51,-1,-42,-1,-33,-1,-23,-1,-14,-1,-5,-1,8,0,13,0,27,0,33,0,44,0,50,0,62,0,63,0,76,0,75,0,85,0,85,0,90,0,90,0,92,0,89,0,93,0,82,0,88,0,75,0,76,0,67,0,59,0,56,0,40,0,42,0,21,0,21,0,7,0,-2,-1,-10,-1,-22,-1,-31,-1,-38,-1,-48,-1,-55,-1,-62,-1,-71,-1,-74,-1,-80,-1,-85,-1,-84,-1,-92,-1,-87,-1,-92,-1,-88,-1,-86,-1,-85,-1,-77,-1,-78,-1,-66,-1,-65,-1,-53,-1,-48,-1,-39,-1,-31,-1,-19,-1,-14,-1,0,0,8,0,14,0,30,0,31,0,47,0,49,0,62,0,62,0}; }
	private static byte[] data20(){ return new byte[] {75,0,74,0,84,0,82,0,89,0,86,0,90,0,87,0,88,0,82,0,81,0,76,0,69,0,65,0,58,0,47,0,46,0,30,0,25,0,16,0,4,0,-2,-1,-14,-1,-21,-1,-33,-1,-37,-1,-51,-1,-52,-1,-64,-1,-68,-1,-74,-1,-77,-1,-84,-1,-82,-1,-90,-1,-85,-1,-87,-1,-86,-1,-85,-1,-78,-1,-79,-1,-69,-1,-67,-1,-60,-1,-51,-1,-44,-1,-37,-1,-27,-1,-19,-1,-9,-1,0,0,9,0,18,0,27,0,36,0,44,0,51,0,59,0,65,0,70,0,76,0,79,0,83,0,85,0,85,0,85,0,88,0,79,0,86,0,73,0,74,0,67,0,60,0,55,0,47,0,38,0,32,0,21,0,12,0,5,0,-7,-1,-12,-1,-25,-1,-31,-1,-41,-1,-47,-1,-55,-1,-62,-1,-67,-1,-73,-1,-77,-1,-79,-1,-84,-1,-83,-1,-86,-1,-84,-1,-82,-1,-81,-1,-78,-1,-72,-1,-71,-1,-59,-1,-59,-1,-47,-1,-44,-1,-30,-1,-29,-1,-13,-1,-10,-1,4,0,9,0,21,0,26,0,38,0,44,0,50,0,60,0,63,0,71,0,73,0,79,0,79,0,84,0,82,0,84,0,82,0,82,0,75,0,77,0,66,0,66,0,58,0,51,0,43,0,38,0,25,0,23,0,8,0,3,0,-7,-1,-17,-1,-22,-1,-35,-1,-39,-1,-49,-1,-54,-1,-61,-1,-67,-1,-71,-1,-77,-1,-75,-1,-85,-1,-77,-1,-88,-1,-76,-1,-84,-1,-75,-1,-77,-1,-69,-1,-65,-1,-60,-1,-52,-1,-49,-1,-36,-1,-33,-1,-21,-1,-14,-1,-7,-1,5,0,10,0,23,0,27,0,39,0,41,0,54,0,57,0,63,0,70,0,71,0,78,0,77,0,83,0,77,0,86,0,74,0,83,0,71,0,73,0,66,0,59,0,58,0,45,0,44,0,32,0,26,0,17,0,9,0,-2,-1,-5,-1,-21,-1,-21,-1,-36,-1,-40,-1,-48,-1,-55,-1,-59,-1,-66,-1,-71,-1,-73,-1,-78,-1,-77,-1,-80,-1,-80,-1,-79,-1,-78,-1,-74,-1,-73,-1,-65,-1,-64,-1,-56,-1,-51,-1,-42,-1,-38,-1,-27,-1,-21,-1,-12,-1,-2,-1,3,0,14,0,22,0,28,0,39,0,43,0,52,0,57,0,63,0,66,0,73,0,73,0,78,0,78,0,78,0,79,0,76,0,76,0,72,0,67,0,64,0,59,0,50,0,48,0,37,0,32,0,22,0,17,0,4,0,1,0,-11,-1,-18,-1,-26,-1,-33,-1,-43,-1,-45,-1,-56,-1,-58,-1,-67,-1,-67,-1,-74,-1,-73,-1,-77,-1,-79,-1,-76,-1,-77,-1,-75,-1,-71,-1,-71,-1,-61,-1,-63,-1,-50,-1,-51,-1,-39,-1,-34,-1,-26,-1,-17,-1,-12,-1,1,0,3,0,19,0,18,0,34,0,35,0,47,0,48,0,59,0,60,0,69,0,67,0,74,0,75,0,76,0,76,0,77,0,72,0,75,0,67,0,67,0,59,0,56,0,49,0,44,0,35,0,30,0,19,0,14,0,5,0,-3,-1,-12,-1,-18,-1,-28,-1,-32,-1,-44,-1,-46,-1,-54,-1,-60,-1,-60,-1,-73,-1,-65,-1,-79,-1,-69,-1,-79,-1,-74,-1,-73,-1,-75,-1,-65,-1,-70,-1,-59,-1,-58,-1,-52,-1,-42,-1,-41,-1,-29,-1,-26,-1,-14,-1,-10,-1,2,0,7,0,15,0,24,0,31,0,38,0,44,0,51,0,55,0,63,0,63,0,70,0,70,0,74,0,73,0,76,0,71,0,74,0,68,0,67,0,63,0,57,0,54,0,45,0,41,0,35,0,23,0,23,0,7,0,6,0,-6,-1,-11,-1,-21,-1,-28,-1,-33,-1,-43,-1,-46,-1,-54,-1,-58,-1,-62,-1,-67,-1,-69,-1,-71,-1,-74,-1,-70,-1,-77,-1,-67,-1,-73,-1,-65,-1,-64,-1,-58,-1,-54,-1,-49,-1,-42,-1,-36,-1,-30,-1,-19,-1,-15,-1,-7,-1,3,0,7,0,17,0,26,0,30,0,39,0,44,0,49,0,57,0,59,0,65,0,66,0,70,0,72,0,70,0,74,0,69,0,71,0,66,0,64,0,60,0,55,0,51,0,43,0,38,0,32,0,23,0,18,0,9,0,1,0,-6,-1,-12,-1,-23,-1,-27,-1,-35,-1,-42,-1,-47,-1,-51,-1,-60,-1,-60,-1,-65,-1,-69,-1,-67,-1,-73,-1,-69,-1,-72,-1,-68,-1,-67,-1,-65,-1,-59,-1,-58,-1,-50,-1,-47,-1,-38,-1,-36,-1,-25,-1,-20,-1,-12,-1,-5,-1,4,0,8,0,20,0,24,0,32,0,37,0,46,0,49,0,55,0,60,0,60,0,69,0,65,0,71,0,69,0,70,0,69,0,66,0,65,0,61,0,57,0,54,0,45,0,45,0,32,0,32,0,19,0,17,0,7,0,0,0,-7,-1,-15,-1,-23,-1,-27,-1,-36,-1,-41,-1,-46,-1,-54,-1,-55,-1,-62,-1,-63,-1,-65,-1,-70,-1,-66,-1,-71,-1,-68,-1,-66,-1,-65,-1,-62,-1,-57,-1}; }
	private static byte[] data21(){ return new byte[] {-55,-1,-48,-1,-44,-1,-36,-1,-33,-1,-24,-1,-16,-1,-14,-1,3,0,-2,-1,16,0,15,0,29,0,29,0,42,0,39,0,55,0,49,0,62,0,60,0,64,0,68,0,64,0,72,0,65,0,67,0,66,0,59,0,61,0,55,0,47,0,50,0,34,0,37,0,25,0,20,0,14,0,5,0,-1,-1,-8,-1,-16,-1,-23,-1,-28,-1,-36,-1,-40,-1,-48,-1,-51,-1,-56,-1,-59,-1,-62,-1,-66,-1,-63,-1,-71,-1,-63,-1,-69,-1,-63,-1,-61,-1,-62,-1,-53,-1,-53,-1,-46,-1,-40,-1,-38,-1,-25,-1,-26,-1,-13,-1,-10,-1,-1,-1,6,0,12,0,19,0,28,0,30,0,40,0,44,0,48,0,55,0,55,0,62,0,61,0,68,0,62,0,69,0,63,0,65,0,64,0,56,0,61,0,48,0,51,0,40,0,39,0,30,0,25,0,19,0,9,0,7,0,-6,-1,-7,-1,-18,-1,-22,-1,-30,-1,-35,-1,-43,-1,-45,-1,-50,-1,-57,-1,-54,-1,-67,-1,-57,-1,-69,-1,-61,-1,-68,-1,-62,-1,-63,-1,-58,-1,-60,-1,-49,-1,-54,-1,-39,-1,-42,-1,-32,-1,-27,-1,-20,-1,-14,-1,-7,-1,1,0,4,0,18,0,16,0,29,0,31,0,40,0,43,0,48,0,54,0,54,0,61,0,60,0,63,0,66,0,61,0,65,0,62,0,58,0,61,0,50,0,52,0,45,0,40,0,35,0,30,0,21,0,18,0,7,0,5,0,-5,-1,-10,-1,-17,-1,-25,-1,-29,-1,-36,-1,-41,-1,-46,-1,-49,-1,-56,-1,-55,-1,-61,-1,-62,-1,-61,-1,-65,-1,-61,-1,-62,-1,-61,-1,-57,-1,-54,-1,-53,-1,-43,-1,-45,-1,-35,-1,-30,-1,-28,-1,-15,-1,-15,-1,-3,-1,0,0,9,0,12,0,24,0,24,0,35,0,37,0,44,0,47,0,53,0,55,0,56,0,63,0,57,0,67,0,58,0,64,0,58,0,58,0,57,0,48,0,52,0,39,0,41,0,32,0,27,0,20,0,15,0,8,0,1,0,-4,-1,-14,-1,-16,-1,-25,-1,-30,-1,-36,-1,-40,-1,-47,-1,-47,-1,-56,-1,-53,-1,-61,-1,-59,-1,-61,-1,-62,-1,-58,-1,-63,-1,-56,-1,-57,-1,-51,-1,-48,-1,-46,-1,-38,-1,-36,-1,-28,-1,-23,-1,-17,-1,-10,-1,-5,-1,4,0,7,0,18,0,18,0,30,0,31,0,33,0,38,0,36,0,40,0,37,0,39,0,32,0,37,0,25,0,33,0,19,0,24,0,15,0,13,0,12,0,4,0,7,0,-1,-1}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-14.wav. */
	public Drum14(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-14.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-14.wav. */
	private class LoopThread extends Thread {
		private Drum14 clip;
		private boolean looping = true;
		public LoopThread(Drum14 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-14.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-14.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-14.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-14.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-14.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}